python多线程

python多线程

需要用到threading库

1.一个简单的多线程

import threading,time

def run(n):
    print("thread",n)
    time.sleep(1)
    print("2s")
    time.sleep(1)
    print("1s")
    time.sleep(1)

def p_time(threadName,delay):
    count = 0
    while count < 5:
        time.sleep(delay)
        count += 1
        print("%s : %s"%(threadName,time.ctime(time.time())))
        
if __name__ == '__main__':
    # target指函数名,args是指函数所传得参数
    threading.Thread(target=run,args=("thread-1",)).start()
    threading.Thread(target=run,args=("thread-2",)).start()
    threading.Thread(target=p_time,args=("thread-3",1)).start()
    threading.Thread(target=p_time,args=("thread-4",1)).start()

2.自定义线程:继承threading.Thread来定义线程类,其本质是重构Thread类中的run方法

class MyThread(threading.Thread):

    def __init__(self,name):
        threading.Thread.__init__(self) # 重构run函数,必须写
        self.name = name

    def run(self):
        print("开始线程:{}".format(self.name))
        print(print_time(self.name,1))
        print("结束线程:{}".format(self.name))

def print_time(threadName,delay):
    count = 0
    while count < 5:
        time.sleep(delay)
        count += 1
        print("%s: %s" %
        (threadName,time.ctime(time.time())))


if __name__ == '__main__':
    # 创建线程
    t1 = MyThread("t1")
    t2 = MyThread("t2")
    # 开始线程
    t1.start()
    t2.start()
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Lевгοи

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值