线程与线程

Python中的threadingthread模块有什么区别?

在Python 3中, thread已被重命名为_thread 。 这是用于实现threading基础结构代码,普通的Python代码不应该在任何地方靠近。

_thread暴露了底层操作系统级进程的一个相当原始的视图。 这几乎从来不是你想要的,因此Py3k中的重命名表明它实际上只是一个实现细节。

threading添加了一些额外的自动记帐,以及一些便利的实用程序,所有这些都使得它成为标准Python代码的首选选项。

threading只是接口thread的更高层次的模块。

看到这里的threading文档:

http://docs.python.org/library/threading.html

如果我没有弄错, thread允许你作为一个单独的线程运行一个函数 ,而threading必须创build一个 ,但获得更多的function。

编辑:这不完全正确。 threading模块提供了不同的创build线程的方法:

  • threading.Thread(target=function_name).start()
  • 用你自己的run()方法创build一个threading.Thread的子类,然后启动它

“Thread”模块将线程视为一个函数,而“线程”模块则以面向对象的方式实现,即每个线程对应一个对象。