python 如何设置多线程
来源:互联网 发布:软件著作权登记申请表 编辑:程序博客网 时间:2024/06/05 18:32
和多进程的思路类似,我们也可以实现对线程的创建,在Python中,使用threading包实现。参数如下:
构造方法:
Thread(group=None, target=None, name=None, args=(), kwargs={})
group: 线程组,目前还没有实现,库引用中提示必须是None;
target: 要执行的方法;
name: 线程名;
args/kwargs: 要传入方法的参数。
示例:
import threadingt = threading.Thread(target=run_thread, args=('fireling', ), name='Run_threadThread')t.start()t.join()
但是由于多线程处理任务,往往有些变量由所有线程共享,这种变量叫全局变量,在所有线程中,这种变量只保存一份。所以多线程处理任务,特别是对于全局变量修改的时候,我们往往要加线程锁,保证在对某个全局变量修改的时候,只有一个线程接触到它
首先要先声明线程锁,
lock = threading.Lock()
在这些线程调用的函数定义中,我们可以加两句话:
lock.acquire() # 获取线程锁xxxxxxxxxxx 此处省略若干代码lock.release() # 释放线程锁
全局锁针对的是所有线程的全局变量,那么我们如果要处理单个线程的局部变量呢?可以用到ThreadLocal方法。
实例方法:
isAlive(): 返回线程是否在运行。正在运行指启动后、终止前。
get/setName(name): 获取/设置线程名。
start(): 线程准备就绪,等待CPU调度
is/setDaemon(bool): 获取/设置是后台线程(默认前台线程(False))。(在start之前设置)
如果是后台线程,主线程执行过程中,后台线程也在进行,主线程执行完毕后,后台线程不论成功与否,主线程和后台线程均停止
如果是前台线程,主线程执行过程中,前台线程也在进行,主线程执行完毕后,等待前台线程也执行完成后,程序停止
start(): 启动线程。
join([timeout]): 阻塞当前上下文环境的线程,直到调用此方法的线程终止或到达指定的timeout(可选参数)。
阅读全文
0 0
- python 如何设置多线程
- 如何设置HFSS13多线程计算!
- 如何多线程设置按钮倒计时
- 如何设置python环境变量?
- Python多线程下载文件如何实现?
- Python IDLE中如何设置命令行参数
- Wing IDE 如何设置 python版本
- Wing IDE 如何设置 python版本
- python如何设置中文 utf-8
- 第26课 如何设置绘图 以及 多线程的应用
- 如何为Python开发环境Wing IDE设置Python路径
- Python的GIL是什么鬼,多线程性能究竟如何
- Python的GIL是什么鬼,多线程性能究竟如何
- Python的GIL是什么鬼,多线程性能究竟如何
- Python 的 GIL 是什么,多线程性能究竟如何
- Python的GIL是什么鬼,多线程性能究竟如何
- Python 的 GIL 是什么鬼,多线程性能究竟如何
- Python的GIL是什么鬼,多线程性能究竟如何
- 计算机网络之面试常考——转自牛客网
- 调通全志R16平台的AP6212A0版本的BT(分色排版)v1.2
- 带权路径长度 hnust数据结构
- ios-图片加载
- HTTP协议知多少-关于http1.x、http2、SPDY的相关知识
- python 如何设置多线程
- 仿京东淘宝等首页广告弹窗广告 dialog
- C++重点知识整理
- SyntaxError: Non-ASCII character '\xe4'错误
- Android之android.os.NewWorkOnMainThreadException解决办法
- openLayers2 画图标
- mysql主从复制(版本不一致)
- IE8浏览器的rgba
- 配置ionic环境