python线程

来源:互联网 发布:南笙姑娘知乎 编辑:程序博客网 时间:2024/05/16 06:34

python里有两个模块支持线程:thread和threading模块。

thread模块

thread模块的线程是比较老的线程支持,类似于C中的api,通过调用start_net_thread函数,把线程函数传递进去,就创建一个新的线程执行。其它的同步之类的操作都必须自己调用。

threading模块

threading模块是比较高级的线程模块,它提供了一个方便使用的Thread类,还担供了同步机制。

Thread类的三种使用方式:

第一种:创建Thread实例,传递进一个函数,这个函数就是线程要执行的函数。

第二种:创建Thread实例,传递进一个可调用的类实例。这个类实例要有一个__call__(self)的方法,这就是线程要调用的函数体。

第三种:从Thread派生子类,子类实现run(self)方法,这就是线程要调用的函数体。

这三种方式创建实例后,都需要手动调用Thread类的start()方法,线程才真正开始执行。

Thread类有一个方法join(),用于等待线程的退出。

原创粉丝点击