并发多线程效果演示

mac2022-06-30  27

一、前言

   

 

  我们说单核的cpu只能同时执行一个任务,但是给我们的一个幻觉是可以执行多个,因为cpu太快了。它是怎么实现的呢?就是上下文切换,它不是轮询着切换的。它是按照优先级来切换的,并不是从头到尾的,中间的切换是有优先级的。我们就可以利用这个优势,因为它太快了,但是我们只打开了一个QQ,启动一个线程的话,他能得到执行的时间就是有限的。那cpu给我们的感觉同时执行多个任务,那我就可以并发批量操作某个动作。

 

二、并发多线程效果演示 

 

 

2.1、创建线程

说明:我们通过threading.Thread模块去创建线程,添加一个时间模块,再来看看效果

import threading,time def run(n): print("task:",n) time.sleep(2) t1 = threading.Thread(target=run,args=("t1",)) t2 = threading.Thread(target=run,args=("t2",)) t1.start() t2.start()

 第二种代码改写如下:

import time def run(n): print("task:",n) time.sleep(2) run("t1") run("t2")

 通过实验:很明显第一种情况实现并发效果,一个等待了2秒中就结束了,因为并发,两个线程同时等待了2秒,但是第二种情况有间隔。

转载于:https://www.cnblogs.com/xiangjun555/articles/7656565.html

最新回复(0)