展开全部
把你的代码执行了一下,应该是有两个地方有问题。
1、入参(u'飒飒',)这个改成(u'飒飒'.encode("utf-8"),)
2、t2=threading.Thread(target=movie,args=(u'问问')),这个地方改成
t2=threading.Thread(target=movie,args=(u'问问',))。不62616964757a686964616fe78988e69d8331333337613866然会当成两个参数。
3、第三个不确定你的用途。就是t.setDaemon(True)那个地方。调用setDaemon的时候,子线程会随着主线程一起结束,不管子线程是否执行完成。所以有时候会出现执行完了啥输出都没有的情况。如果想让主线程等待子线程,在start后面使用t.join()。这样就会一直都有输出了。
修改完如下:# coding=utf-8
import threading
from time import ctime
def music(m):
print '在听%s,现在是%s' % (m, ctime())
def movie(mo):
print '在看%s,现在是%s' % (mo, ctime())
threadList = []
t1 = threading.Thread(target=music, args=(u'飒飒'.encode("utf-8"),))
threadList.append(t1)
t2 = threading.Thread(target=movie, args=(u'问问'.encode("utf-8")))
threadList.append(t2)
for t in threadList:
t.setDaemon(True)
t.start()
#t.join()
|