python 多线程实践与应用

多线程

多线程(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)
线程锁,进程锁
生命周期
进程调度

猜你喜欢

转载自blog.csdn.net/weixin_43264177/article/details/82911656
今日推荐