32.多线程线程

线程之间内存是共享的。

使用threading模块实现多线程编程。

import threading

thread_obj = threading.Thread([group [, target [, name[, args [, keyargs]]]]] )

  • group: 暂时无用,未来功能的预留参数

  • target: 执行的目标任务名,就是函数的名称

  • name: 线程名,一般不用设置

  • args: 以元组的方式给执行任务传参

  • kwargs: 以字典的方式给执行任务传参

启动线程,让线程开始工作

thread_obj.start()

python 复制代码
import time
import threading


def sing():
    while True:
        print("我在唱歌,啦啦啦")
        time.sleep(1)


def dance():
    while True:
        print("我在跳舞,哗哗哗")
        time.sleep(1)


thread1 = threading.Thread(target=sing)
thread2 = threading.Thread(target=dance)
thread1.start()
thread2.start()

给线程传参args

python 复制代码
import time
import threading


def sing(msg):
    while True:
        print(msg)
        time.sleep(1)


def dance(msg):
    while True:
        print(msg)
        time.sleep(1)


thread1 = threading.Thread(target=sing, args=('我在唱歌...',))
thread2 = threading.Thread(target=dance, args=("我在跳舞...",))
thread1.start()
thread2.start()

给线程传参kwargs

python 复制代码
import time
import threading


def sing(msg):
    while True:
        print(msg)
        time.sleep(1)


def dance(msg):
    while True:
        print(msg)
        time.sleep(1)


thread1 = threading.Thread(target=sing, kwargs={'msg': '我在唱歌'})
thread2 = threading.Thread(target=dance, kwargs={'msg': '我在跳舞'})
thread1.start()
thread2.start()
相关推荐
No0d1es3 分钟前
GESP CCF python二级编程等级考试认证真题 2024年12月
开发语言·python·青少年编程·gesp·ccf·二级
大霞上仙34 分钟前
selenium 在已打开浏览器上继续调试
python·selenium·测试工具
CodeClimb40 分钟前
【华为OD-E卷-开心消消乐 100分(python、java、c++、js、c)】
java·python·华为od
Eiceblue1 小时前
Python拆分Excel - 将工作簿或工作表拆分为多个文件
开发语言·python·excel
Linux运维技术栈2 小时前
Python字符串及正则表达式(十一):正则表达式、使用re模块实现正则表达式操作
开发语言·python·正则表达式
梧桐树04292 小时前
python:正则表达式
数据库·python·正则表达式
hnmpf2 小时前
flask-admin+Flask-WTF 实现实现增删改查
后端·python·flask
余生H2 小时前
前端的Python应用指南(一):快速构建 Web 服务器 - Flask vs Node.js 对比
服务器·前端·python
m0_748256562 小时前
如何使用Python WebDriver爬取ChatGPT内容(完整教程)
开发语言·python·chatgpt
不如语冰3 小时前
深度学习Python基础(2)
人工智能·python·深度学习·语言模型