python for多线程_python for 怎么多线程

2017-10-22 回答

python支持多线程效果还不错,很多方面都用到了python 多线程的知识,我前段时间用python 多线程写了个处理生产者和消费者的问题,把代码贴出来给你看下:

#encoding=utf-8

import threading

import random

import time

from queue import queue

class producer(threading.thread):

def __init__(self, threadname, queue):

threading.thread.__init__(self, name = threadname)

self.sharedata = queue

def run(self):

for i in range(20):

print self.getname(),'adding',i,'to queue'

self.sharedata.put(i)

time.sleep(random.randrange(10)/10.0)

print self.getname(),'finished'

# consumer thread

class consumer(threading.thread):

def __init__(self, threadname, queue):

threading.thread.__init__(self, name = threadname)

self.sharedata = queue

def run(self):

for i in range(20):

print self.getname(),'got a value:',self.sharedata.get()

time.sleep(random.randrange(10)/10.0)

print self.getname(),'finished'

# main thread

def main():

queue = queue()

producer = producer('producer', queue)

consumer = consumer('consumer', queue)

print 'starting threads ...'

producer.start()

consumer.start()

producer.join()

consumer.join()

print 'all threads have terminated.'

if __name__ == '__main__':

main()

如果你想要了解更多的python 多线程知识可以点下面的参考资料的地址,希望对有帮助!

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值