实现python说话的多历程与多线程
东西/原料
- 电脑
- Python运行情况
方式/步调
- 1
对比单历程、多历程、多线程的利用案例。
- 2
一、先实现单历程的案例:
1、导入threading和time库;
如:
from time import ctime,sleep
import threading
- 3
2、界说两个函数:
如:
def talk(content,loop):
for i in range(loop):
print("Start talk %s %r" %(content,ctime()))
sleep(2)
def write(content,loop):
for i in range(loop):
print("Start write %s %r" %(content,ctime()))
sleep(6)
- 4
3、运行本家儿函数:
if __name__=='__main__':
talk("Hello world",3)
write("Bye Bye",3)
print("All end 2222:%r" %ctime())
- 5
4、全数代码为:
from time import ctime,sleep
import threading
def talk(content,loop):
for i in range(loop):
print("Start talk %s %r" %(content,ctime()))
sleep(2)
def write(content,loop):
for i in range(loop):
print("Start write %s %r" %(content,ctime()))
sleep(6)
if __name__=='__main__':
talk("Hello world",3)
write("Bye Bye",3)
print("All end 2222:%r" %ctime())
- 6
5、运行成果如下图所示:
- 7
二、接下来,编写多历程的案例:
6、函数同单历程中的函数,此中需要界说历程对象;
如:
threads=[]
t1=threading.Thread(target=talk,args=('Hello world',3))
threads.append(t1)
t2=threading.Thread(target=write,args=('Bye Bye',3))
threads.append(t2)
- 8
7、运行本家儿函数:
if __name__=='__main__':
for t in threads:
t.start()
for t in threads:
t.join()
print("All end 2222:%r" %ctime())
- 9
8、全数代码为:
from time import ctime,sleep
import threading
def talk(content,loop):
for i in range(loop):
print("Start talk %s %r" %(content,ctime()))
sleep(2)
def write(content,loop):
for i in range(loop):
print("Start write %s %r" %(content,ctime()))
sleep(6)
threads=[]
t1=threading.Thread(target=talk,args=('Hello world',3))
threads.append(t1)
t2=threading.Thread(target=write,args=('Bye Bye',3))
threads.append(t2)
if __name__=='__main__':
for t in threads:
t.start()
for t in threads:
t.join()
print("All end 2222:%r" %ctime())
如下图所示:
- 10
9、运行代码,成果如下图所示:
- 11
三、接下来,编写多线程的案例:
10、函数同单历程中的函数,此中需要界说历程对象;
如:
processes=[]
p1 = multiprocessing.Process(target=talk, args=('Hello world',3))
processes.append(p1)
p2=multiprocessing.Process(target=write,args=('Bye',3))
processes.append(p2)
- 12
11、界说本家儿函数为:
for p in processes:
p.start()
for p in processes:
p.join()
print("All Processes are Run %s" %ctime())
- 13
12、全数代码为:
from time import ctime,sleep
import multiprocessing
import threading
def talk(content,loop):
for i in range(loop):
print("Start talk %s %r" %(content,ctime()))
sleep(2)
def write(content,loop):
for i in range(loop):
print("Start write %s %r" %(content,ctime()))
sleep(6)
processes=[]
p1 = multiprocessing.Process(target=talk, args=('Hello world',3))
processes.append(p1)
p2=multiprocessing.Process(target=write,args=('Bye',3))
processes.append(p2)
if __name__=='__main__':
for p in processes:
p.start()
for p in processes:
p.join()
print("All Processes are Run %s" %ctime())
- 14
13、运行成果如下图所示:
- 15
综上所述,单历程、多历程、多线程的执行成果,本家儿如果表现在执行的时候点的差别。
注重事项
- 为了领会清晰多历程和单历程之间的差别,sleep和运行次数需要设心猿意马精确
- 注重多历程和多线程的成立体例
来源:百闻(微信/QQ号:9397569),转载请保留出处和链接!
本文链接:https://www.ibaiwen.com/web/281535.html
- 上一篇: word如何设置上标和下标文字
- 下一篇: qq群设置特别关注的成员,即时接收特定成员消息
猜你喜欢
-
监管人员是做什么的(What Regulatory Officer Do)?
-
什么是低度肿瘤(Low-Grade Neoplasm)?
-
面板生成器是做什么的(What Panel Builder Do)?
-
什么是浆液性乳头状腺癌(Serous Papillary Adenocarcinoma)?
-
什么是呼叫中心工作(Call Center Job)?
-
什么是种子疣(What Seed Warts)?
-
念珠菌病有哪些不同的治疗方法(Different Types of Candidiasis Treatment)?
-
事务协调器是做什么的(What Transaction Coordinator Do)?
-
什么是定量免疫球蛋白(Quantitative Immunoglobulin)?
-
我如何成为人才获取专家(Become a Talent Acquisition Specialist)?
- 热门文章
-
WB蒙特利尔(WB Montreal)——欧美十大最差视频游戏开发商
迅猛龙(Velociraptor)——欧美史前十大死亡动物
什么是果酱猫(What Marmalade Cats)?
神奇蜘蛛侠2(The Amazing Spider-Man 2)——欧美最佳蜘蛛侠电影
faceu激萌怎么把瘦脸开到最大
希瑟(Heather)——欧美十大最佳柯南灰歌
奥兹奥斯本(Ozzy Osbourne)——欧美十大高估歌手
二人梭哈
什么是小脑前下动脉(Anterior Inferior Cerebellar Artery)?
我应该知道康涅狄格州的什么(What Should I Know About Connecticut)?
- 热评文章
- 最新评论
-
- 最近访客
-
- 站点信息
-
- 文章总数:261580
- 页面总数:9
- 分类总数:1
- 标签总数:0
- 评论总数:0
- 浏览总数:74382