多线程
多线程(MultiThreading)是指从软件或者硬件上实现多个线程并发执行的技术
案例:让学生同时进行说和写的操作
from time import sleep,ctime
import threading
# 定义说和写的方法
def talk(content,loop):
for i in range(loop):
print("Start talk:%s %s" % (content,ctime()))
sleep(2)
def write(content, loop):
for i in range(loop):
print("Start write:%s %s" % (content,ctime()))
sleep(3)
# 定义和加载说和写的线程
threads=[]
t1=threading.Thread(target=talk,args=('Hello 51zxw',2))
threads.append(t1)
t2=threading.Thread(target=write,args=('Life is short,You need Python',2))
threads.append(t2)
# 执行多线程
if __name__=='__mian__':
for t in threads:
t.start()
for t in threads:
t.join()
print("All Thread end! %s" %ctime())
多进程
与多线程相比,多进程就是import multiprocessign然后替换相应的方法multiprocessing.Process()
from time import ctime,sleep
import multiprocessing
# 定义两个方法说和写
def talk(content,loop):
for i in range(loop):
print("Talk:%s %s" %(content,ctime()))
sleep(2)
def write(content,loop):
for i in range(loop):
print("Write:%s %s" %(content,ctime()))
sleep(3)
#定义两个进程
process=[]
p1=multiprocessing.Process(target=talk,args=('hello,51zxw',2))
process.append(p1)
p2=multiprocessing.Process(target=write,args=('Python',2))
process.append(p2)
#调用进程
if __name__=='__main__':
for p in process:
p.start()
for p in process:
p.join()
print("All process is Run! %s" %ctime())
相关延伸
进程间通信iPC(Interprocess commucication)
线程锁,进程锁
生命周期
进程调度