`

python多线程(3)生存者消费模型

 
阅读更多
import threading,time
import Queue
import random

q=Queue.Queue()

def Chan(name):
  for i in range(5):
    q.put(i)
    print '%s shengchan %s baozi' %(name,i)
    time.sleep(random.randrange(5))



def Chi(name):
  count=0
  while count < 5:
    d=q.get()
    print '%s chichichi %s baozi' %(name,d)
    count +=1
    time.sleep(random.randrange(5))



p=threading.Thread(target=Chan,args=('AAAAAAAAAAA',))
c=threading.Thread(target=Chi,args=('BBBBBBBBBBB',))
p.start()
c.start()

 结果

AAAAAAAAAAA shengchan 0 baozi
BBBBBBBBBBB chichichi 0 baozi
AAAAAAAAAAA shengchan 1 baozi
AAAAAAAAAAA shengchan 2 baozi
BBBBBBBBBBB chichichi 1 baozi
AAAAAAAAAAA shengchan 3 baozi
BBBBBBBBBBB chichichi 2 baozi
AAAAAAAAAAA shengchan 4 baozi
BBBBBBBBBBB chichichi 3 baozi
BBBBBBBBBBB chichichi 4 baozi

 

分享到:
评论

相关推荐

    feifei.zip_影视_飞飞影视插件

    5. **多线程或异步处理**:为了加快采集速度,插件可能会使用多线程或异步IO模型(如Python的asyncio或Java的NIO),使得程序能在等待网络响应的同时处理其他任务。 6. **用户界面**:“飞飞自动采集.exe”可能是带...

    约瑟夫环教程.docx

    - **利用数学公式**:对于某些特殊情况,可以通过数学推导找到直接计算最后一个生存者的公式。 - **分治法**:将大问题分解成小问题来求解,通过递归的方式逐步解决问题。 - **并行计算**:利用多线程或多进程来...

    2007年上半年软件设计师考试试题及答案.rar

    2. **编程语言与数据结构**:试题可能包含对C++、Java、Python等主流编程语言的基本语法、类和对象、异常处理、多线程编程的考察。同时,数据结构如数组、链表、栈、队列、树和图的应用也是重点,考生需熟练掌握它们...

    Game-of-life

    8. **并行计算**:为了提高性能,可以考虑使用多线程或多进程来并行处理每个单元格的状态更新,但这对初学者来说可能有一定难度。 9. **优化**:在处理大量单元格时,可以通过使用numpy库来提高计算效率,因为numpy...

    BacterialUnknowsSimulation

    例如,使用OpenMP或MPI进行多线程或多进程计算,或者通过遗传算法或粒子群优化算法寻找模型参数的最佳组合。 4. **可视化与用户界面**:为了便于用户理解和操作,项目可能包含一个直观的图形用户界面(GUI),展示...

    关于Go编程语言的一些常见基础面试题.pdf

    Go的并发模型基于轻量级线程和通道。Goroutines和通道提供了简单而强大的并发编程机制。Go的并发编程特点包括: - **简洁性**:通过简单的语法支持并发编程。 - **安全性**:通过通道实现goroutines之间的安全通信。...

    nimga:Nim的遗传算法库

    3. **并行计算支持**:Nimga利用Nim的并发特性,支持多线程或分布式计算,加速遗传算法的执行速度。 4. **多种选择、交叉和变异策略**:库内包含了多种遗传操作策略,如轮盘赌选择、随机比例选择、单点交叉、均匀...

Global site tag (gtag.js) - Google Analytics