1.导入线程包
import threading
在 CPython 中,由于存在 全局解释器锁,同一时刻只有一个线程可以执行 Python 代码(虽然某些性能导向的库可能会去除此限制)。 如果你想让你的应用更好地利用多核心计算机的计算资源,推荐你使用 multiprocessing 或 concurrent.futures.ProcessPoolExecutor。 但是,如果你想要同时运行多个 I/O 密集型任务,则多线程仍然是一个合适的模型。
2.创建线程 threading.Thread(group=None, target=None, name=None, args=(), kwargs={}, *, daemon=None)
【Python多任务编程——多线程的使用】group: 为以后的ThreadGroup类预留
name 为线程名字,一般不用设置
target: 被执行的对象,由run()方法执行
args: target元组传参
kwargs:target字典传参
daemon: 是否为守护进程
demo1_process = threading.Thread(target = dance)
demo2_process = threading.Thread(target = sing)
#3.启动线程
常用方法:使用start方法
dance_process.start()
sing_process.start()
4.代码实现
#导入线程模块
import threading
import timedef dance():
for i in range(3):
print("dance...")
time.sleep(0.5)def sing():
for i in range(3):
print("sing...")
time.sleep(0.5)if __name__ == "__main__":
#创建线程
dance_process=threading.Thread(target=dance)
sing_process=threading.Thread(target=sing)
#启动线程
dance_process.start()
sing_process.start()
运行结果:
文章图片
推荐阅读
- Python多任务编程——进程等待
- Python多任务编程——线程之间共享变量
- Python多任务编程——获取进程编号
- Python多任务编程——多进程的使用
- Python多任务编程介绍
- python|我,28岁,汽修转行自学Python,月薪15K,是我这辈子做的最正确的选择
- 深度学习|一文理解深度学习框架中的InstanceNorm
- 人工智能|抢工程师的饭碗(业内人士这样评价AlphaCode | 今夜科技谈)
- 前沿技术|一文轻松掌握深度学习框架中的einsum