12 2018 档案
摘要:一、构造方法 Queue是构造方法,函数签名是Queue(maxsize=0) ,其中maxsize设置队列的大小。 二、实例方法 Queue.qsize(): 返回queue的近似值。注意:qsize>0 不保证(get)取元素不阻塞。qsize<maxsize不保证(put)存元素不会阻塞 Qu
阅读全文
摘要:一、解释 线程之间通信的两个基本问题是互斥和同步。 线程同步是指:线程之间所具有的一种制约关系,一个线程的执行依赖另一个线程的消息,当它没有得到另一个线程的消息时,应该等待,直到消息到达时才被唤醒。 线程互斥是指:对于共享的操作系统资源(指的是广义的“资源”,而不是Windows.res文件,譬如全
阅读全文
摘要:一、理解 如果线程里每从队列里取一次,但没有执行task_done(),则join无法判断队列到底有没有结束,在最后执行个join()是等不到结果的,会一直挂起。可以理解为,每task_done一次 就从队列里删掉一个元素,这样在最后join的时候根据队列长度是否为零来判断队列是否结束,从而执行主线
阅读全文
摘要:一、协程的理解 二、协程原理 1 def run(): 2 print(1) 3 yield 10 4 print(2) 5 yield 20 6 print(3) 7 yield 30 8 9 10 # 协程的最简单风格,控制函数的阶段执行,节约线程或者进程的切换 11 m = run() #返回
阅读全文
摘要:一、线程的理解 二、启动一个线程 1 #!/usr/bin/env python 2 # -*- coding:utf-8 -*- 3 4 import threading 5 import time 6 7 a = 10 8 9 10 def run(num): 11 print('子线程(%s)
阅读全文
摘要:1 #!/usr/bin/env python 2 # -*- coding:utf-8 -*- 3 4 from time import sleep 5 6 7 def run(): 8 while True: 9 print("sunck is a nice man") 10 sleep(1.2
阅读全文
摘要:现代操作系统(Windows、Mac OS X、Linux、UNIX等)都支持"多任务"什么叫多任务???操作系统同时可以运行多个任务早期电脑都是单核cpu是纤所任务原理:操作系统轮流让各个任务交替执行,QQ执行2Us,切换到微信,执行2Us,再切换到陌陌,执行2Us,……。表面上看,每个任务反复执
阅读全文
摘要:一、多任务原理 通常我们会设计Master-Worker模式,Master负责分配任务,Worker负责执行任务,因此,多任务环境下,通常是一个Master,多个Worker 二、多进程 主进程就是Master,其他进程就是Worker 优点: (1) 稳定性高:一个子进程崩溃了,不会影响主进程和其
阅读全文
摘要:一、对 ThreadLocal 的理解 ThreadLocal,有的人叫它线程本地变量,也有的人叫它线程本地存储,其实意思一样。 ThreadLocal 在每一个变量中都会创建一个副本,每个线程都可以访问自己内部的副本变量。 二、为什么会出现 ThreadLocal 的技术应用 我们知道多线程环境下
阅读全文

浙公网安备 33010602011771号