python语言中threading.Thread类的使用方法
2024-08-24 09:29:56
1. 编程语言里面的任务和线程是很重要的一个功能。在python里面,线程的创建有两种方式,其一使用Thread类创建
# 导入Python标准库中的Thread模块
from threading import Thread
# 创建一个线程
mthread = threading.Thread(target=function_name, args=(function_parameter1, function_parameterN))
# 启动刚刚创建的线程
mthread .start()
function_name: 需要线程去执行的方法名
args: 线程执行方法接收的参数,该属性是一个元组,如果只有一个参数也需要在末尾加逗号。
2. 重新写一个类,继承threading.Thread
import threading, time
class MyThread(threading.Thread):
def __init__(self):
threading.Thread.__init__(self)
def run(self):
global n, lock
time.sleep()
if lock.acquire():
print n , self.name
n +=
lock.release()
if "__main__" == __name__:
n =
ThreadList = []
lock = threading.Lock()
for i in range(, ):
t = MyThread()
ThreadList.append(t)
for t in ThreadList:
t.start()
for t in ThreadList:
t.join()
重写了父类threading.Thread的run()方法,其他方法(除了构造函数)都不应在子类中被重写。使用线程的时候生成一个子线程类的对象,然后对象调用start()方法就可以运行线程。
4. 线程等待,我们的主线程不会等待子线程执行完毕再结束自身。可以使用Thread类的join()方法来子线程执行完毕以后,主线程再关闭。
t.join()
5. isAlive()方法测试线程是否是活动的,返回线程名。
setName(name)
设置线程名。
最新文章
- 计划将项目中使用entity framework的要点记录到改栏目下
- 关注微信 即可连上wifi 的设计思路
- Android MonoGame坑记
- Web--RSS
- 【留坑】uva12299
- 验证合法的url
- 现有C2B模式小总结
- Graph - leetcode [图]
- COM问题
- python自定义库文件路径
- ROS零门槛学渣教程系列前言
- finalize方法的使用
- 浅谈基于WOPI协议实现跨浏览器的Office在线编辑解决方案
- 源码分析五(HashSet的内部实现)
- eclispse修改项目项目编码
- Flord算法传递闭包
- Dream------scala--Tuple、Array、Map与文件操作
- Eclipse中使用Maven创建项目 (转)
- go语言学习框架
- adb client, adb server, adbd原理浅析(附带我的操作过程)
热门文章
- Linux系统错误码对照表
- Visual Studio 编辑器打开项目后,一直提醒Vs在忙,解决方法
- Vue.js-创建Vue项目(Vue项目初始化)并不是用Webstrom创建,只是用Webstrom打开
- JavaScript如何转换数据库DateTime字段类型?
- ABI (应用程序二进制接口)
- C++11 新特性之 decltypekeyword
- 【HHHOJ】ZJOI2019模拟赛(十五)03.17 解题报告
- 【LOJ6045】「雅礼集训 2017 Day8」价(网络流)
- 怎么让Sublime Text不自动打开最近的文件/项目
- Miller rabin