1、一个程序被打开,就会变成一个进程;
2、每个程序在运行的时候,系统都会默认为这个进程创建一个线程,这个线程我们叫主线程。程序员自己创建的线程叫子线程。
3、多个任务在一个线程中是按顺序一个一个执行的(串行);
4、多个线程的任务是同时执行;
import time
import datetime
import random
import threading
def download(file):
#threading.current_thread() 获取当前线程
print(file,threading.current_thread())
print(datetime.datetime.now(),'开始下载:%s' %file)
time.sleep(random.randint(4,9))
print(datetime.datetime.now(),'下载 %s 结束' %file)
download('海贼王') #(主线程执行)
# download('火影忍者')
# download('犬夜叉')
Python是通过threading来支持多线程
1、创建线程对象 (主线程执行)
Thread(target=,agrs=)
target:需要传一个需要在子线程中执行的函数(类型是function的变量)
agrs:在子线程中调用target对应的函数的时候,该传什么参数,类型是元祖
t1=threading.Thread(target=download,args=('犬夜叉',)) #调用Thread类创建对象
t2=threading.Thread(target=download,args=('火影忍者',))
2、让子线程执行任务 (子线程执行)
print(datetime.datetime.now(),'==============') #主线程执行
t1.start() #t1线程执行
t2.start() #t2线程执行
download('死神') #主线程执行