代码改变世界

线程

2018-08-22 11:20  冻奶香甜玉米片  阅读(137)  评论(0编辑  收藏  举报

要先import currentThread

threading.currentThread().getName()当前进程名字

setName()改名

join等子进程结束再运行下面代码

isAlive子进程是否活着

threading.activeCount()统计有有几个进程或者

threading.enumerate()返回一个正在运行的线程的列表(列表里的都是对象)

守护线程盯着主线程(进程创建就存在的线程,该线程执行完毕,守护线程也同样回收,而主线程盯着其他非守护线程,其他非守护线程执行完毕,主线程才会被回收)

线程下面的互斥锁和进程一样用法,只不过对比起进程,线程本来就是共享数据,所以不用队列(队列解决的问题是两个,一个是数据的读存储,另外一个是竞争问题(互斥锁))

对Cpython来说,同一时间只能运行一个进程(因为GIL锁,同一时间只有一个进程抢到python解释器的使用权),所以没办法利用多核优势,想用多核优势,只能用多进程