使用脚本全局变量中定义的全局变量
t0 = time.time()##是全局的
和这个功能
def timestamp(t0):
... return(“ [” + str(time.time()-t0)+“]”)##从初始开始的时间戳记
我正在尝试为脚本的每个print()加上时间戳
打印(timestamp(t0)+“” ...任何...“”)
这可行,但是当我输入多线程时
对于范围(win32-safe_os)中的thread_id:
... p =进程(target =函数,args =(((thread_id),“ test”)))
... p.start()
... thread_list.append(p)
为了
def fonction(thread_id,filetodo):
...打印(timestamp(t0)+“ Load core” + str(thread_id))
... print(timestamp(t0)+ str(filetodo)+“在内核” + str( thread_id))
... print(timestamp(t0)+“ Free core” + 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中,它指的是THREAD(不是脚本)的开头/
每个进程都有一个单独的全局变量实例。如果希望每个进程看到相同的值,则需要将该值作为参数传递给每个进程。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句