処理時間削減の要「並列性」!だが、pythonの前に立ちはだかる強敵があらわる!

今日はこちらの本のP117より~
Effective Python ―Pythonプログラムを改良する59項目
例えば「ボタンを100万回押す」処理がありました~
早く終えるにはどうしましょう?
 
一つの方法として、「複数人に分担してもらう」のが
良いかもしれません~

そんな考えが、プログラミングにもありまして、
並列性というらしいです~
他に並行性という考え方もあるのですが、
似ててややこしいので図にしました~

f:id:cacapon:20190430234826p:plain
並行性は一人が超高速で切り替えて
あたかも複数人のように見せかける方法ですね~

WindowsのようなOSはこんな感じで動いているそうです。

並行性は、図の通り分担して処理する方法です~
処理時間が短くなります~

pythonでも並列性は作れるそうですが、
pythonに関係しているGILという仕組みが
「同時に一つのスレッドしか進行できない」らしく、
実装が難しいそうです~
 
GIL…よくわかってませんが強敵そうです~
頑張ります~