Python之路,进程、线程、协程篇

本节内容

  1. 进程、与线程区别
  2. cpu运行原理
  3. python GIL全局解释器锁
  4. 线程
    1. 语法
    2. join
    3. 线程锁之Lock\Rlock\信号量
    4. 将线程变为守护进程
    5. Event事件 
    6. queue队列
    7. 生产者消费者模型
    8. Queue队列
    9. 开发一个线程池
  5. 进程
    1. 语法
    2. 进程间通讯
    3. 进程池 

参考链接http://www.cnblogs.com/alex3714/articles/5230609.html

生产者消费者模型

实例演示

#生产者消费者模型

import threading,queue
import time def consumer(n): #消费者
while True:
print("\033[32;1mconsumer[%s]\033[0m get task: %s"%(n,q.get()))
time.sleep(1)
q.task_done()#通知队列 def producer(n):#生产者
count=1#计数器
while True:
# for i in range(2):
# time.sleep(1)
#if q.qsize()<3:#小于3个包子,为了检测判断不要生产的太多
print("prodcer [%s] produced a new task:%s"%(n,count))
q.put(count)
count +=1#计数器
q.join()#queue is empty,阻塞,等待队列通知(没有包子时会通知)
print("all task has been cosumed by consumers...") q=queue.Queue() c1=threading.Thread(target=consumer,args=[1,])
c2=threading.Thread(target=consumer,args=[2,])
c3=threading.Thread(target=consumer,args=[3,])
p=threading.Thread(target=producer,args=["XiaoYu",])
p2=threading.Thread(target=producer,args=["Jack",])
# p3=threading.Thread(target=producer,args=["Bob",])
# p4=threading.Thread(target=producer,args=["Z1",])
# p5=threading.Thread(target=producer,args=["Z2",])
c1.start()
c2.start()
c3.start()
p.start()
p2.start()
# p3.start()
# p4.start()
# p5.start()

最新文章

  1. iOS---------- @synchronized(self)的用法
  2. 序列不包含任何元素,c#,支付宝
  3. 【Python自动化运维之路Day4】
  4. Unicode基本概念
  5. Leetcode#139 Word Break
  6. java PriorityBlockingQueue 基于优先级队列,的读出操作可以阻止.
  7. DLNA_百度百科
  8. Scrapy研究和探索(五岁以下儿童)——爬行自己主动多页(抢别人博客所有文章)
  9. github 教程
  10. SSH自动断开连接的原因、配置(转)
  11. SpringMVC Restful api接口实现
  12. 关于java的Synchronized,你可能需要知道这些(上)
  13. jquery制作移动端菜单栏左右滑动
  14. NSURLSession 相关清单
  15. 01-spark基础
  16. linux命令之复制
  17. /dev/mem直接操作硬件寄存器
  18. Linux 安装php扩展 swoole
  19. Linux Centos7安装chrome浏览器
  20. CentOS Linux 7.3 1611 (Core) 配置静态IP地址

热门文章

  1. C/C++基础知识总结——数组、指针域、字符串
  2. [转]Decrypt Any iOS Firmware on Mac, Windows, Linux
  3. algorithm(算法)
  4. UISearchDisplayController UISearchBar
  5. iOS蓝牙调用的一般流程
  6. Linq4j简明介绍
  7. JIT动态编译器的原理与实现之Interpreter3
  8. poj 3181 Dollar Dayz(求组成方案的背包+大数)
  9. 通用高性能 Windows Socket 组件 HP-Socket v2.2.2 更新发布
  10. Facebook开源的基于SQL的操作系统检测和监控框架:osquery Table详解