Python中文
首页
教程
问答
标签
搜索
登录
注册
如何使此代码与Queue一起工作?
回答此问题可获得
20
贡献值,回答如果被采纳可获得
50
分。
<p>我有点怀疑是否有人能解决我的问题,并创建成功的线程之间的通信。你知道吗</p> <p>第一个例子,这是它应该如何工作,但工作不好:</p> <pre><code>import Queue,threading,time class th(threading.Thread): def __init__(self,q): threading.Thread.__init__(self) self.q = q self.t = time def run(self): for i in range(5): self.q.put(i) self.t.sleep(0.5) # <---------- self.q.put('end') class main(object): def __init__(self): self.q = Queue.Queue() self.thread = th(self.q) self.thread.setDaemon(True) self.thread.run() self.call() def call(self): while True: recv = self.q.get(); if recv == 'end': break else: print recv if __name__ == '__main__': root = main() root.call() </code></pre> <p>在本例中,所有打印都同时进行: 0,1,2,3,4</p> <p>第二个例子:</p> <pre><code>import Queue,threading,time class th(threading.Thread): def __init__(self,q): threading.Thread.__init__(self); self.q = q self.t = time def run(self): for i in range(5): self.q.put(i) # <------ no sleep() self.q.put('end') class main(object): def __init__(self): self.q = Queue.Queue() self.thread = th(self.q) self.thread.setDaemon(True) self.thread.run() self.call() def call(self): while True: recv = self.q.get() if recv == 'end': break else: print recv if __name__ == '__main__': root = main() root.call() </code></pre> <p>代码按需要打印 0, 1 2 三 4个</p> <p>一对一</p> <p><code>sleep</code>函数有没有以同样的方式运行?你知道吗</p>
0 条评论
分类:
Python问答
请先
登录
后评论
默认排序
时间排序
1 个回答
匿名
1天前
擅长:python、mysql、java
<p>对不起,这是一个非常简单的东西,非常简单,只是需要替换</p> <pre><code>self.thread.run() </code></pre> <p>由</p> <pre><code>self.threat.start() </code></pre>
请先
登录
后评论
针对此问题:
更多的回答
关注
89
关注
收藏
1
收藏,
216
浏览
网友 提问于 2天前
相关Python问题
如果给定字符串与字典中的键值匹配,如何返回键
5 回答
如果给定字符串与字典中的键匹配,如何返回键的值
2 回答
如果给定字符串与某些格式不匹配,将引发哪个异常?
1 回答
如果给定存储库和修订号#/revision ID,我可以使用什么Bzr函数返回分支位置?
8 回答
如果给定开始和结束版本号,是否有bzrlib函数将返回所有虚线版本号?
6 回答
如果给定日期差(天)中不存在值,Python将删除ID行
5 回答
如果给定时间来源,如何将日期时间从十进制转换为“%y%m%d%H:%m:%S”?
4 回答
如果给定条件,如何计算欧氏距离?
5 回答
如果给定极限,如何在极限处停止循环。如何返回带有附加值的新列表?
8 回答
如果给定查询的lis没有找到记录,Django将返回none对象
9 回答
如果给定点和每个点之间的距离(测向纬度, 液化天然气)小于或等于0.1km
4 回答
如果给定的字符串与字典中的keys值匹配,如何返回字符串中的多个键
6 回答
如果给定的数字是列表中存在的两个不同数字的总和(仅在一次过程中),如何返回“True”?
2 回答
如果给定的数据在R或Python的范围(1到1)内,如何规范化格式(3、2、1、0、1、2、3)的数据?
8 回答
如果给定的日期是本月的最后一天,如何增加月数?
4 回答
如果给定的是像素值而不是坐标值,如何将灰度像素值更改为彩色值
7 回答
如果给定的条件为真,如何打开窗口?
2 回答
如果给定的键和值与字典列表中的匹配,则获取所有字典
3 回答
如果给定相同的名称,python类中的属性值会改变吗?
8 回答
如果给定空列表,则返回“0”
3 回答