Crossin的编程教室
标题:
关于74课 多线程 返回结果不对 问题
[打印本页]
作者:
silen_lu
时间:
2017-9-15 17:03
标题:
关于74课 多线程 返回结果不对 问题
本帖最后由 silen_lu 于 2017-9-15 17:09 编辑
照敲的代码,怎么返回结果就是不一样呢?方法中
print i,time.time()-time_start print 'data:',len(data) 这
两行代码的数据为啥是程序运行结束后按ENTER后才输出的一坨呢?
下面是我的代码:
import time,urllib,thread
def get_content(i):
id = 1764796+i
url='https://api.douban.com/v2/movie/subject/%d'%id
d=urllib.urlopen(url).read()
data.append(d)
print i,time.time()-time_start
print 'data:',len(data)
time_start=time.time()
data=[]
for i in range(30):
print 'request movie:',i
thread.start_new_thread(get_content,(i,))
raw_input('press ENTER to exit...\n')
我的返回结果(求指教):
request movie: 0
request movie: 1
request movie: 2
request movie: 3
request movie: 4
request movie: 5
request movie: 6
request movie: 7
request movie: 8
request movie: 9
request movie: 10
request movie: 11
request movie: 12
request movie: 13
request movie: 14
request movie: 15
request movie: 16
request movie: 17
request movie: 18
request movie: 19
request movie: 20
request movie: 21
request movie: 22
request movie: 23
request movie: 24
request movie: 25
request movie: 26
request movie: 27
request movie: 28
request movie: 29
press ENTER to exit...
(此处按回车后python shell继续返回下面的数据:)
10119511141392318626243282721207151716825222294120
>>> 9.934999942789.934999942789.934999942789.934999942789.934999942789.934999942789.934999942789.934999942789.934999942789.934999942789.934999942789.934999942789.934999942789.934999942789.934999942789.934999942789.934999942789.934999942789.934999942789.934999942789.934999942789.934999942789.934999942789.934999942789.95099997529.95099997529.95099997529.95099997529.95099997529.9509999752
data:data:data:data:data:data:data:data:data:data:data:data:data:data:data:data:data:data:data:data:data:data:data:data:data:data:data:data:data:data: 303030303030303030303030303030303030303030303030303030303030
作者:
crossin先生
时间:
2017-9-16 19:56
因为在输出之前,主线程已经运行到input那里,等待你输入,其他的输出都被阻塞了
作者:
wangyange
时间:
2017-12-19 18:08
thread.start_new_thread(get_content,(i,)) 老师 问一下 为什么这个第二个参数中要带一个‘,’,如果是(i)这样不是元祖嘛?
作者:
xiejiali
时间:
2018-1-13 18:58
crossin先生 发表于 2017-9-16 19:56
因为在输出之前,主线程已经运行到input那里,等待你输入,其他的输出都被阻塞了 ...
老师,我的返回结果也是这样一堆,是为什么呢?而且我后面返回的data都是29
欢迎光临 Crossin的编程教室 (https://bbs.crossincode.com/)
Powered by Discuz! X2.5