python 多线程编程


线程与进程

进程: 程序的一次执行,有自己的内存,地址空间,数据栈等,进程间不可共享数据。 线程: 一个进程下可以多个线程,线程间可共享数据。

虽然 Python 解释器中可以“运行” 多个线程,但在任意时刻,只有一个线程在解释器中运行。


Thread 与 Threading

Thread: 当主线程退出的时候,所有其它线程没有被清除 就退出了(不支持守护线程); Threading: 能确保所有“重要的”子线程都退出后,进程才会结束。 守护线程: 如果你设定一个线程为守护线程,就表示你在说这个线程是不重要的,在进程退出的时候,不用等待这个线程退出。thread.setDaemon(True))就表示这个线程“不重要.


从 Thread 派生出一个子类,创建一个这个子类的实例

关键代码

class MyThread(threading.Thread):
    def __init__(self, func, args, name=''):
        threading.Thread.__init__(self)
        self.func = func
        self.arga = args
    
    def run(self):
        apply(self.func, self.args) **线程常用函数:**    

thread_list = []
for i in range(len(loops)):
    t = MyThread(loop, (i, loops[i]))
    thread_list.append(t)
for i in range(len(loops)):
    thread_list[i].start()
for i in range(len(loops)):
    thread_list[i].join()


版权申明

知识共享许可协议
本作品采用知识共享署名-非商业性使用 4.0 国际许可协议进行许可。 转载文章请注明原文出处。

天道酬勤
评分4.8/5 based on 20