【一行代码系列】Python 的多线程

本文介绍了Python中使用多线程和并发执行的基本概念,通过关键代码展示了如何启动线程、使用ThreadPoolExecutor进行任务并行处理以及实现生产者-消费者模型。示例代码包括线程的创建与启动、线程池的应用以及队列的使用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本人一直想做的一个系列
一开始想用 All in One 这样洋气的系列名来着
想了下
此系列主要通过最关键的 一行 / 几行 代码,快速给出一个问题的解决方案
至于背后的依赖+原理,还请自行自顶向下搜索

t.start()

from threading import Thread
t = Thread(target=my_add_func, args=(1,2))
t.start()

# 阻塞等待结束
ok = t.join()

其中,

def my_add_func(lh, rh):
	res = lh + rh
	print(res)
	
	return True

ps:

  • args 为传入参数组成的元组,target 也只有 func name
    • 和 python 返回多值为元组原理相同

扩展功能

res = pool.map(my_func, args_list)

from concurrent.futures import ThreadPoolExecutor
with ThreadPoolExecutor() as pool:
	res = pool.map(my_func, args_list)

my_func 为单参数

  • 还有一种 pool.submit() 方式,单条发射,不单独列出了

q.put();q.get()

from queue import Queue
q = Queue()
q.put(item) # Generator
q.get(item) # Consumer
  • 生产者 - 消费者模型
  • 队列默认是无限大的
  • 只有 get 的阻塞等待功能
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值