python threading

python threading

并发:
一边看电视玩手机,一下只能运行一个,交替运行
并行:
一边开车一边听音乐,能同时往一个地方
进程:
运行一个饿了么app
线程:
多个用户同时下订单
GIL锁:
将线程作为并发处理

class MyThread(threading.Thread):
    """
    创建一个并行任务
    func 添加并行任务的函数名
    args 是需要传进来的参数
    get_result 获取线程运行后返回的任务结果
    """
    def __init__(self, func, args=()):
        super(MyThread, self).__init__()
        self.func = func
        self.args = args

    def run(self):
        self.result = self.func(*self.args)

    def get_result(self):
        threading.Thread.join(self)  # 等待线程执行完毕
        try:
            return self.result
        except Exception:
            return None
# 单例
thread = MyThread(func, args=(1,))
thread.start() # 启动线程
thread.join() # 当线程运行完了才运行主进程
# 多例
thread_list = []
for func in func_list:
    thread = MyThread(func, args=(1,))
    thread_list.append(thread) # 在列表里面添加所有运行的线程
for thread in thread_list:
    thread.start() # 将列表中的线程全部启动
for thread in thread_list:
    thread.join() # 所有线程运行完才运行主进程```

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值