python模块学习系列之多线程(threading)

python admin 284℃ 0评论

这里只提供代码作参考,也是一个简单的代码模块

从这几行代码来看python实现的多线程,应该说是简单易用

#coding:utf-8
import threading
from time import ctime,sleep


def music(param):
    for i in range(3):
        print "I was listening to %s. %s" %(param,ctime())
        sleep(1)

def move(param):
    for i in range(3):
        print "I was at the %s! %s" %(param,ctime())
        sleep(5)

threads = []
t1 = threading.Thread(target=music,args=(u'爱情买卖',))
threads.append(t1)
t2 = threading.Thread(target=move,args=(u'阿凡达',))
threads.append(t2)

if __name__ == '__main__':
    for t in threads:
        t.setDaemon(True)
        t.start()

    t.join()
       
    print "all over %s" %ctime()

执行结果:

I was listening to 爱情买卖. Thu Feb 28 13:54:39 2019
I was at the 阿凡达! Thu Feb 28 13:54:39 2019
I was listening to 爱情买卖. Thu Feb 28 13:54:40 2019
I was listening to 爱情买卖. Thu Feb 28 13:54:41 2019
I was at the 阿凡达! Thu Feb 28 13:54:44 2019

python的thread和threading区别

python提供了多种模块用来支持多线程编程,

thread(在python3中改名为_thread),threading,和 queue模块。

通过加入queue模块,用户可以创建多个线程共享数据的队列数据结构。

thread和threading模块都可以用来创建和管理线程,而thread模块提供了基本的线程和锁支持。

threading提供的是更高级的完全的线程管理。

低级别的thread模块是推荐给高手用,一般应用程序推荐使用更高级的threading模块:

1.它更先进,有完善的线程管理支持,此外,在thread模块的一些属性会和threading模块的这些属性冲突。

2.thread模块有很少的(实际上是一个)同步原语,而threading却有很多。

3.thread模块没有很好的控制,特别当你的进程退出时,

比如:当主线程执行完退出时,其他的线程都会无警告,无保存的死亡,

而threading会允许默认,重要的子线程完成后再退出,它可以特别指定daemon类型的线程。

 

转载请注明:朋克网 » python模块学习系列之多线程(threading)

喜欢 (0)
发表我的评论
取消评论
表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址