Python多线程之threading模块

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python多线程之threading模块相关的知识,希望对你有一定的参考价值。

使用threading.Thread类,有三种创建线程的方法:

  1. 创建一个Thread类,传给它一个函数;

  2. 创建一个Thread类,传给它一个可调用的类对象;

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




# 方法1和方法2的创建方法类似
import threading

def func(k):
    print(‘thread %s replies %s‘%(threading.currentThread().getName(), k**2))

if __name__ == ‘__main__‘:
    mythreads = []
    for i in range(1,5):
        t = threading.Thread(target=func, args=(i,))
        mythreads.append(t)

    print(‘start:‘)
    for t in mythreads:
        t.start()    #所以线程创建完后一起start,而不要创建一个启用一个
    for t in mythreads:
        t.join    #等待所有线程运行完毕在继续执行主程序
# 方法3的创建方式
import threading

class Myclass(threading.Thread):
    def run(self):
        print(‘i am thread: %s‘ %(self.getName()))

if __name__ == ‘__main__‘:
    mythreads = []
    for i in range(1,5):
        t = Myclass()
        mythreads.append(t)

    print(‘start:‘)
    for t in mythreads:
        t.start()
    for t in mythreads:
        t.join

加锁的操作这里不做叙述。

以上是关于Python多线程之threading模块的主要内容,如果未能解决你的问题,请参考以下文章

python多线程之threading模块

Python多线程之threading模块

python多线程之 threading模块详解

Python系列之多线程多进程

python之threading模块简单讲解和实例演示

41 Python - python并行编程 多线程之——thread模块(已经过时,开发不推荐)