并发多线程效果演示

一、前言

   

 

  我们说单核的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秒,但是第二种情况有间隔。

posted @ 2017-10-12 16:09  人生是一场修行  阅读(98)  评论(0编辑  收藏  举报