多任务-线程

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

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

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

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

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

3.并发与并行

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

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

4.线程

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

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

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

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

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

猜你喜欢

转载自www.cnblogs.com/zxh1297/p/9349059.html