美文网首页
day20_多线程

day20_多线程

作者: 逆流而上_2eb6 | 来源:发表于2018-10-25 17:39 被阅读0次

1.多线程

进程:系统中正在运行的一个应用程序
特点:每个进程都是相互独立的,每个进程都在其专用且受保护的内存空间中
线程:一个进程至少有一个线程
线程是串行的,
延时:sleep(时间):会将当前线程指定的时间,单位秒(s)

import time
time.sleep(5)

多线程:一个进程可以开启多条线程,每条线程可以并行执行不同的任务
多线程可以提高程序的执行效率
多线程的原理:同一时间cpu只能处理1条线程,只有1条线程在工作;cpu快速地在多条线程之间调度(切换)

每个程序在运行的时候系统都会为这个进程创建一个线程,这个线程我们叫主线程。程序员自己创建的线程叫子线程
多个任务在一个线程中是按顺序一个一个执行的(串行)
多个线程的任务同时执行
1.创建子线程对象:
Thread(target=,args=)
target:需要传一个需要在子线程中执行的函数(类型是function的变量)
args:在子线程中调用target对应的函数该传什么函数,类型是元祖
2.让子线程执行

import threading
t1 = threading.Thread(target = ,args = )
t1.start()

current_thread()获取当前线程

创建线程的方式2:

直接通过Thread类创建对象,将需要在子线程中执行的函数作为target参数传送过去

方式2:写一个自己的类去继承Thread类,实现当前类的run方法,run方法中的任务就是在子线程中执行的任务;创建当前类的对象,就是线程对象,然后调用start去执行线程中的任务

需要传参就通过当前类来传。

class DownLodeThread(Thread):
    def __init__(self,file):
        super().__init__()
        self.file = file
    def run(self):
        print(file)
t1 = DownLodeThread("file")
t1.start()  #开始子线程
t1.run()   #调用run(),不是子线程

相关文章

网友评论

      本文标题:day20_多线程

      本文链接:https://www.haomeiwen.com/subject/iiuctqtx.html