スクリプトの上部フォーカスで定義されたこのグローバル変数を使用して
t0 = time.time() ## はグローバルです
そしてこの機能
def timestamp(t0):
... return ("[" + str(time.time()-t0)+ "] ") ## 初期開始からのタイムスタンプ
スクリプトのすべての print() にタイムスタンプを付けようとしています
print(timestamp(t0) + ""...なんでも..."")
これは機能しますが、マルチスレッドに入るときに
範囲内のスレッド ID (win32-safe_os):
... p = Process(target=fonction, args=((thread_id),"test"))
... p.start()
... thread_list.append(p)
そうするには
def fonction(thread_id,filetodo):
... print(timestamp(t0)+"Load core "+str(thread_id))
... print(timestamp(t0)+str(filetodo)+" on core "+str( thread_id))
... print(timestamp(t0)+"空きコア"+str(thread_id))
私はこの標準出力を取得します:
[2.70299983025] 297 jpg / 36087 ファイル
[2.75] マルチスレッドに入る
[2.75] Win32 検索: 2 コア
[0.0] コア 0 をロード [0.0] コア
0 でテスト
[0.0] コア 0 を解放
[0.0] コア 1 をロード
[ 0.0] コア 1 のテスト
[0.0] フリー コア 1
timestamp() と t0 への呼び出しが機能していることがわかりますが、p.start() では機能していません。どのように(そしてなぜ)修正する必要があるのか 疑問に思っていますか?
PS : time.clock で試してみましたが、win32 ではスレッド (スクリプトではありません) の先頭を指します/