码迷,mamicode.com
首页 > 编程语言 > 详细

多任务-线程

时间:2018-07-22 11:20:08      阅读:147      评论:0      收藏:0      [点我收藏+]

标签:一起   子线程   上进   16px   多线程   任务调度   size   span   tar   

1.如今的电脑cup已经是多核了,可以实现多任务同时完成。

但是在之前,cpu仍然处于单核状态时,同样也可以实现多任务,那么是如何完成的呢?

其实是,让多任务交替执行,由于cpu的执行速度太快了,多以让人们看起来是同时在执行,其实只是伪多任务罢了。

2.此时,就牵涉到了一个并行的问题,在什么样的情况下,能够实现并行?

只有真正的在多核cpu中,才可以实现并行,但是,当任务数量远远多于核数时,操作系统就会将多任务轮流调度到多核上进行处理。

3.并发与并行

并发:指的是任务数多余cpu核数,通过操作系统的各种任务调度算法,实现用多个任务“一起”执行(实际上总有一些任务不在执行,因为切换任务的速度相当快,看上去一起执行而已)

并行:指的是任务数小于等于cpu核数,即任务真的是一起执行的

4.线程

创建线程: t = threading.Thread(target=saySorry)  target= 的内容是我们的动作函数

启动线程:只有当线程执行 t.start( ) , 才会创建一个线程,并开始执行

5.多线程中,主线程和子线程的执行问题

当多线程存在时,主线程会让子线程执行结束才会结束

查看线程数量:length = len(threading.enumerate())

 

多任务-线程

标签:一起   子线程   上进   16px   多线程   任务调度   size   span   tar   

原文地址:https://www.cnblogs.com/zxh1297/p/9349059.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!