python3 做一个多线程下载文件的程序 多线程问题

[复制链接]
查看11 | 回复2 | 2011-3-25 02:41:39 | 显示全部楼层 |阅读模式
比如这个文件是10000bite,我要分5块下载,这时每块大小为2000bit,用5个线程请求文件0-2000 2001-4000.....这时候哪个线程先read()完毕我就要将哪块写入文件,这时候我怎么判断哪个线程先read()完毕
回复

使用道具 举报

千问 | 2011-3-25 02:41:39 | 显示全部楼层
<pre id=\"best-answer-content\" class=\"reply-text mb10\">可以用is_active来判断。
不过你可以预分配文件空间,直接写,主要不冲突就行了。

















<h4 class=\"ask\">追问





<pre class=\"replyask-text\" id=\"content-2484877\">是写在threading里还是写在 urllib.request.urlopen(THISONE).read()里面
还有我刚遇到一个问题就是怎么获得网络文件的大小?比如 我想获得一个图片的大小再将它等分下载这时候不知到达小
如果b=urllib.request.urlopen(THISONE)
b.__sizeof__()输出的不是图片大小而好像是那个类的字节数 b.read().__size__()又本末倒置了
怎么办呢 ?
谢谢你
回复

使用道具 举报

千问 | 2011-3-25 02:41:39 | 显示全部楼层
<pre class=\"replyask-text\" id=\"content-2486930\">urlopen().里面有headers,你要先了解了一下。有一个bytes什么的记不清了。
你这样网络一断什么就完了,还是一块一块的读好一些。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行