python多线程实现多任务 附demo

使用线程完成多任务需要导入threading包:import threading

1.线程类Thread参数说明:

Thread([group [, target [, name [, args [, kwargs]]]]])

  • group: 线程组,目前只能使用None
  • target: 执行的目标任务名
  • args: 以元组的方式给执行任务传参
  • kwargs: 以字典方式给执行任务传参
  • name: 线程名,一般不用设置

2.启动线程

启动线程使用start()方法, sub_thread.start()

3.线程注意点:

  • 线程的执行顺序是无序的
  • 主线程默认会等待所有的子线程结束后才结束
  • 可以设置守护线程,当主线程结束时,子线程立即结束

4.设置守护主线程

# 设置成为守护主线程,主线程退出后子线程直接销毁不再执行子线程的代码
sub_thread = threading.Thread(target=run, daemon=True)
# 守护主线程方式二
# sub_thread.setDaemon(True)

5.获取当前程序的活动线程列表

thread_list = threading.enumerate()
print(thread_list)

6.自定义线程

import threading
import time


class MyThread(threading.Thread):
    def __init__(self,count1, count2):
        # 重写父类__init__方法
        # 自定义线程类需要继承父类的构造方法
        super().__init__()
        self.count1 = count1
        self.count2 = count2

    
    # 定义成静态方法
    @staticmethod
    def task1(count):
        print("task1",threading.current_thread())
        for i in range(count):
            print("任务1执行")
            time.sleep(0.2)

    @staticmethod
    def task2(count):
        print("task2",threading.current_thread())
        for i in range(count):
            print("任务2执行")
            time.sleep(0.2)

# task1与task2属于同一个线程,顺序执行
    def run(self):
 
  • 0
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值