多任务-线程

Posted zxh1297

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了多任务-线程相关的知识,希望对你有一定的参考价值。

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

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

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

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

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

3.并发与并行

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

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

4.线程

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

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

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

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

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

 

以上是关于多任务-线程的主要内容,如果未能解决你的问题,请参考以下文章

多个用户访问同一段代码

详解C++多线程

多线程

cpp►多线程

Android 多线程下载,断点续传,线程池

20160226.CCPP体系详解(0036天)