线程
线程是操作系统能够进行运算调度的最小单位(程序执行流的最小单元)
它被包含在进程之中,是进程中的实际运作单位。一个进程中可以并发多个线程
每条线程并行执行不同的任务
(线程是进程中的一个实体,是被系统独立调度和分派的基本单元)
每一个进程启动时都会最先产生一个线程,即主线程
然后主线程会再创建其他的子进程
例子:看电影和听音乐会同时开始,然后按照各自的沉睡时间进行输出
import threading
from time import ctime,sleep
def music(a):
for i in range(2):
print 'I was listening to %s. %s' %(a,ctime())
sleep(1)
def movie(b):
for i in range(2):
print 'I was watching to %s. %s' %(b,ctime())
sleep(5)
# music('双子')
# movie('迷雾')
t1 = threading.Thread(target=music,args=('双子',))
t1.start()
t2 = threading.Thread(target=movie,args=('迷雾',))
t2.start()
print 'all over %s ' %ctime()
这里面包含两个线程,一个主线程,一个子线程
主线程会先执行
from threading import Thread
def Foo(arg):
print arg
print 'before'
#线程和函数建立关系
t1 = Thread(target=Foo,args=(1,))
t1.start()
print 'after'
这里面包含三个线程,一个主线程,两个子线程
会先执行主线程
from threading import Thread
def Foo(arg):
print arg
print 'before'
#线程和函