import time
import thread
def timer(no, interval):
cnt = 0
while cnt<10:
print 'Thread:(%d) Time:%s/n'%(no, time.ctime())
time.sleep(interval)
cnt+=1
thread.exit_thread()
def test(): #Use thread.start_new_thread() to create 2 new threads
thread.start_new_thread(timer, (1,1))
thread.start_new_thread(timer, (2,2))
if __name__=='__main__':
test()
出现错误
Unhandled exception in thread started by
Error in sys.excepthook:
Original exception was:
解决方法:将主函数改为
<pre>if __name__=='__main__':
test()
time.sleep(3)
至于为什么要睡几秒,不是很清楚
网上的说法是不建议使用thread,应尽量使用threading.Thread类
本文探讨了Python中使用多线程时遇到的常见错误,并提供了避免此类错误的方法。通过调整主函数执行流程,实现了多线程间的合理调度。文中还解释了引入延时的原因,以及为何推荐使用`threading.Thread`类代替直接调用`thread.start_new_thread()`。此优化有助于提高程序的稳定性和效率。
1万+

被折叠的 条评论
为什么被折叠?



