目录
0.线程
0.1 查看正在运行的线程
0.2 继承Thread类完成创建线程
多线程共享全局变量,+=改变了地址,所以要用global
如下test2没有append,共享的test1
0.3 多线程共享全局变量的问题–资源竞争
如下一个线程没执行完3步就切换到另一个线程,非原子性
0.4 互斥锁解决资源竞争
多线程解决并发问题。多线程有个问题:全局变量。互斥锁解决全局变量问题
0.5 死锁,银行家算法
0.6 多线程udp聊天器
1.进程
程序是没有运行的,运行起来就是进程(进程可让操作系统调度资源,一个程序可产生多个进程)
进程:资源分配的单位,先有并互相独立费资源,通socket、文件、队列(内存)通信。
线程:操作系统调度单位,共享全局变量。
下面是.Processing不是.Thread
1.1 通过队列完成进程间通信
队列可解耦(耦合性:程序间依赖性)
下面这个q只能在同一程序里多个进程且同一个电脑,redis可以消息队列,分布式(多台电脑)
1.2 进程池Pool
1.3 多任务文件夹copy
下面为改进版显示进度:主进程来显示,主进程和进程池里进程通过队列通信
2.协程
2.1 gevent实现图片下载器