Python:多线程创建的语法及步骤

线程模块:import threading

线程类Thread参数:group(线程组)  target:执行的目标的任务名

args:以元组的方式给执行任务进行传参 *args可以传任意多个参数

kwargs以字典方式给执行任务传参

name:线程名

步骤:
1.导入模块 threading

2.创建子线程 Thread()类

3.守护线程 setDaemon #主线程执行完子线程也会跟着结束

4.启动子线程start()

5.阻塞主线程join() #a.join() a为子线程,阻塞主线程,主线程会等待子线程a执行完再执行下面的代码

单线程:

import time
t1=time.time()
def dance(name):
    print('%s is dancing' %name)
    time.sleep(1)#睡眠一秒

if __name__=='__main__':
    for i in range(4):
        dance('lihailu')
t2=time.time()
print(t2-t1)

结果为:
lihailu is dancing
lihailu is dancing
lihailu is dancing
lihailu is dancing
4.001209497451782  #四遍运行时间,后边为睡眠时间

多线程:

import time
import threading
t1=time.time()
def dance(name):
    print('%s is dancing' %name)
    time.sleep(1)#睡眠一秒

if __name__=='__main__':
    for i in range(4):
        #创建线程
        t=threading.Thread(target=dance,args=('lihailu',))#一个元素的元组也要加,
        t.start()#启动线程
t2=time.time()
print(t2-t1)

输出结果为:

lihailu is dancing
lihailu is dancing

lihailu is dancing

lihailu is dancing0.02975940704345703

多线程进阶举例:

import time
from threading import Thread
def funa():
    print('study')
    time.sleep(2)
    print('dark')
def funb():
    print('six')
    time.sleep(2)
    print('money')
if __name__=='__main__':#程序文件如果直接运行则执行下面的代码
    #创建子线程
    f1=Thread(target=funa)
    f2=Thread(target=funb)

    #设置守护线程
    f1.setDaemon(True)
    f2.setDaemon(True)

    #开启子线程
    f1.start()
    f2.start()

    #阻塞主线程
    f1.join()#主线程等待f1执行完再执行
    f2.join()

    print('这是主线程,haha')
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值