day20_多线程

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(),不是子线程
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 进程和线程 进程 所有运行中的任务通常对应一个进程,当一个程序进入内存运行时,即变成一个进程.进程是处于运行过程中...
    胜浩_ae28阅读 5,137评论 0 23
  • 进程和线程 进程 所有运行中的任务通常对应一个进程,当一个程序进入内存运行时,即变成一个进程.进程是处于运行过程中...
    小徐andorid阅读 2,830评论 3 53
  • iOS多线程编程 基本知识 1. 进程(process) 进程是指在系统中正在运行的一个应用程序,就是一段程序的执...
    陵无山阅读 6,099评论 1 14
  • 一、多线程 每个程序在运行的时候(进程)系统都会为这个进程创建一个线程,这个线程我们叫主线程。 程序员自己创建的线...
    xdxh阅读 222评论 0 0
  • Cell phone taboos. Is there any taboo while you using a c...
    Jenna_King阅读 697评论 0 0