ます。睡眠—睡眠のスレッドやプロセス?
-
01-07-2019 - |
質問
Pythonでは*nixな time.sleep()
ブロックのスレッドのですか?
解決
このブロックのねじになります。見ればモジュール/timemodule.c、Pythonソースのままだと、呼び出 floatsleep()
, の実質的な部分の眠り運転に包まれPy_BEGIN_ALLOW_THREADSとPy_END_ALLOW_THREADSブロック、他のスレッドを実行し続けていくが、寝る。また試験のこの簡単なpythonプログラム:
import time
from threading import Thread
class worker(Thread):
def run(self):
for x in xrange(0,11):
print x
time.sleep(1)
class waiter(Thread):
def run(self):
for x in xrange(100,103):
print x
time.sleep(5)
def run():
worker().start()
waiter().start()
れる印刷:
>>> thread_test.run()
0
100
>>> 1
2
3
4
5
101
6
7
8
9
10
102
他のヒント
すぐ眠りのスレッドの場合を除き、お申込みの単一スレッドで睡眠のスレッドを効果的に処理します。
のpythonドキュメントの睡眠を指定していないことかだったので、理解を深めての混乱!
だけます。
のスレッドがブロックが、プロセスはまだまだ生きています。
単一のネジ付きの申請は、すべてが詰ます。は、下記からダウンロードでき用にスレッドに明示的に'眠り'ブロックされ、他のスレッドがある。
のスレッドの場合プロセスを単一のねじになります。
プロセスはrunnable。について、執行過程はただのコンテナです。意味のない一時停止の処理です。これは、単に適用されない。
所属していません StackOverflow