t1 = threading.Thread(target=func_name, args=(num,), name=”子线程名字”)
t1.start()
t1.join()
备注:主线程会等待子线程结束之后才会结束,主线程一死,子线程也会死。线程的调度是随机的,并没有先后顺序。
枚举函数enumerate的用法
enumerate()是python的内置函数,在字典上是枚举、列举的意思。用于将一个可遍历的数据对象(如列表、元组或字符串)组合为一个索引序列,同时列出数据和数据下标,一般用在 for 循环当中。通过threading.enumerate()就可以获取线程列表。
互斥锁的运用
由于多线程之间共享全局变量就会导致出现资源竞争的问题,为了避免这种竞争出现,利用互斥锁可以实现线程同步。
Mutex = threading.Lock()
Mutex.acquire()
Mutex.release()
什么是死锁?
在线程间共享多个资源的时候,如果两个线程分别占有一部分资源并且同时等待对方的资源,就会造成死锁,尽管死锁很少发生,但一旦发生就会造成应用的停止响应。
什么是进程?
程序是静态的,当程序运行起来就叫做进程。是操作系统分配资源的基本单元。
原文:http://blog.51cto.com/13517854/2135869