Pythonのマルチタスクと簡単なプロセス

マルチタスクとは何ですか?

同時に複数のタスクを実行しながら、画像や映像に合わせて、オーディオなどのすべての歌詞は、すべての同期アクションを、歌い、踊りながら、歌いながら、そのような時にコンサートのスターとして、理解するシンプル。これは、マルチタスクのシナリオですが、生活の中で、このような例も多いです。しかし、コンピュータの目的のために、オペレーティングシステムのQQ、マイクロ手紙、訪問等のソフトウェアで実行中。

マルチタスクの原則を達成するためにコンピュータを取得する方法

例えば、上記のQQ、マイクロ文字、ツアーは我々が感じるような錯覚につながる、CPUの高速は、複数のアプリケーションを切り替えるので、あなたが目カトン現象が表示されないことがありので、同時に実行できる3つのアプリケーションでありますエフェクトが実行されている一方で、もしコンピュータカトン現象ので、CPUのスイッチが、来ます。
、デュアルコアはどのようなCPUはシングルコアでは何ですか?
シングルコアCPUのCPUがプログラムを処理するためのコアを持っている意味し
、二コア、4コア、8コアであるCPUが同じ理由で、デュアルコアCPUを生じさせる、コンピューティングパワーを運用CPUを増加させるために。

私は、CPUのどのような操作を行う必要がありますか?

インテルのインテル、i3は、i5の、i7の、I9のI9のは、あなたがそのようなコンピューティングなど、について何かを言うここで、壊したい場合2.30GHzインテル®Coreの第二を表し™i5-6200U CPU @ 2.30GHzで、最高だったような周波数動作速度、より良い高いです。

プロセスとマルチプロセスですか?

オペレーティングシステムで実行されていないことをプログラムと呼ばれるが、彼は、オペレーティングシステム稼働してメモリにロードされたとき、彼はプロセスです。それはプログラムが、複数回ロードされ、複数のプロセスにつながるが、1つのプログラムだけは、そのようなQQとして、コンピュータはちょうどログインアカウントではないかもしれないことかどうか、あなたはマルチプロセスを構成するアカウントの多くをログに記録することができます。

それでは、どのようにPythonで複数のプロセスを作成します

私たちは星が再び歌い、踊り、複数のプロセスを使用していないましょうミッションの目的

import time
def sing():
    '''明星在唱歌'''
    for i in range(3):
        print('---正在唱歌---')
        time.sleep(1)
def dance():
    '''明星在跳舞'''
    for i in range(3):
        print('---正在跳舞---')
        time.sleep(1)

if __name__ == '__main__':
    sing()
    dance()

'''
运行结果:

---正在唱歌---
---正在唱歌---
---正在唱歌---
---正在跳舞---
---正在跳舞---
---正在跳舞---
'''

私たちはその後、星歌や踊りを作るためのプロセスを使用します

import time
import multiprocessing  #导入多进程模块

def sing():
    '''明星唱歌'''
    for i in range(3):
        print("---正在唱歌---")
        time.sleep(1)
def dance():
    '''明星跳舞'''
    for i in range(3):
        print("---正在跳舞---")
        time.sleep(1)

def main():
    p1=multiprocessing.Process(target=sing)   #创建进程p1,执行sing函数
    p2=multiprocessing.Process(target=dance)   #创建进程p2,执行dance函数
    p1.start()   #开始执行进程1
    p2.start()   #开始执行进程2
    #   开启了2个子进程 p1,p2

if __name__ == '__main__':
    main()

'''
运行结果:

---正在唱歌---
---正在跳舞---
---正在唱歌---
---正在跳舞---
---正在唱歌---
---正在跳舞---
'''

結論:プロセスを作成することにより、適切な機能を実行し、マルチタスク動作
解析コード:
メイン()ミアンから実行され、実行される_ IF _ ==「_ メイン _」:
コードブロック。p1.start()を行う場合、子プロセスは、子プロセスP1同じコードとメインプロセスを作成し、関数本体のみプログラム実行の開始時に歌います。p2.startにメインプロセスの実行()、メインプログラムコードの同じコピーがダンス関数本体を開始するとき。
マルチプロセスは、コードの動作効率を向上させるが、リソースのマルチタスクコストが非常に大きいですが、プロセスは、我々は、リソースのシステムが必要です。

プロセスの状況

準備ができて、実行していると、ブロッキング:プログラムの実行中に、それは、オペレーティングシステムのスケジューリングアルゴリズムで実行されているためは、プログラムはいくつかの状態になりますコントロールのオペレーティングシステムです。
(1)レディ状態
のプロセスは、プロセスの状態がレディ状態を呼び出したときに、プロセッサが、即時実行を得ることができる限り、CPUに加えて、必要なすべてのリソースに割り当てられています。
プロセッサ上で実行されるプログラム・ハンドラ・プロセスが、このときの処理は状態実行状態と呼ばれたとき(2)実行/動作状態が得られます。
工程(3)は遮断状態を待機を実行することができないため、イベントが発生し、それらがブロックされているプロセッサをあきらめるときに実行されます。プロセスは、そのようなI / Oの完了を待っているなどのイベント、様々なブロックさせる、アプリケーションは、文字(信号)等のバッファ、待ちを満たしていません

公開された38元の記事 ウォンの賞賛128 ・は 10000 +を見て

おすすめ

転載: blog.csdn.net/lujiangyang123/article/details/103863434