Python中的线程threading.Thread()使用详解
进行程序开发的时候,肯定避免不了要处理并发的情况,一般使用多线程实现并发。
python实现多线程编程需要借助于threading模块。
Thread
threading 模块中最核心的内容是 Thread 这个类。
程序运行时默认就是在主线程上,创建 Thread 对象,然后让它们运行,每个 Thread 对象代表一个线程,在每个线程中我们可以让程序处理不同的任务,这就是多线程编程。
创建Thread对象
class threading.Thread(group=None, target=None, name=None, args=(), kwargs={}, *, daemon=None)
- target: 传一个回调函数对象
- 如果回调函数对象需要传递参数的话,args 是固定参数,kwargs 是可变参数
import threading
import timedef test():for i in range(5):print('test ',i)time.sleep(1)thread = threading.Thread(target=test)
启动Thread 对象
thread.start()
主线程加一个线程整体代码运行
import threading
import timedef test():for i in range(5):print('test ',i)time.sleep(1)thread = threading.Thread(target=test)
thread.start()for i in range(5):print('main ', i)time.sleep(1)
上面代码很简单,在主线程上打印 5 次,在一个子线程上打印 5 次。
运行结果如下:
Python中的线程threading.Thread()使用详解相关推荐
- python中的线程threading.Thread()使用
1. 线程的概念: 线程,有时被称为轻量级进程(Lightweight Process,LWP),是程序执行流的最小单元.一个标准的线程由线程ID,当前指令指针(PC),寄存器集合和堆栈组成.另外,线 ...
- python gil 解除_详解Python中的GIL(全局解释器锁)详解及解决GIL的几种方案
先看一道GIL面试题: 描述Python GIL的概念, 以及它对python多线程的影响?编写一个多线程抓取网页的程序,并阐明多线程抓取程序是否可比单线程性能有提升,并解释原因. GIL:又叫全局解 ...
- python中时间戳、字符串之间转换详解
[转载]python中时间戳.字符串之间转换详解 (2013-04-30 17:36:07) 转载▼ 标签: 转载 原文地址:python中时间戳.字符串之间转换详解作者:doris0920 1)秒数 ...
- python argv 详解_对python中的argv和argc使用详解
主要问题 为什么argv中第一个,即index=0的内容就是文件名? python中argc是用什么实现的? 概念解释 argc:argument counter,命令行参数个数 argv:argum ...
- Python中的__name__和__main__含义详解
背景 在写Python代码和看Python代码时,我们常常可以看到这样的代码: ? 1 2 3 4 5 def main(): ...... if __name__ == "__ma ...
- python的raw_ input是什么意思-对python中raw_input()和input()的用法详解
最近用到raw_input()和input()来实现即时输入,就顺便找了些资料来看,加上自己所用到的一些内容,整理如下: 1.raw_input() raw_input([prompt]) -> ...
- python中str和input_对python中raw_input()和input()的用法详解
最近用到raw_input()和input()来实现即时输入,就顺便找了些资料来看,加上自己所用到的一些内容,整理如下: 1.raw_input() raw_input([prompt]) -> ...
- python3 isinstance用法_对python中assert、isinstance的用法详解
1. assert 函数说明: Assert statements are a convenient way to insert debugging assertions into a program ...
- python中关于深拷贝和浅拷贝的详解
python中关于深拷贝和浅拷贝的详解 概述 在python的语法中,有两种变量的拷贝方式 一种是深拷贝,一种是浅拷贝 我们先说深拷贝 语法 这里需要通过导入系统的copy模块中的deepcopy才可 ...
最新文章
- 使用salt-api来搭建salt自动化平台
- C#——《C#语言程序设计》实验报告——数据库编程——基于ADO.NET技术的数据库操作DEMO
- wxWidgets:wxRegEx类用法
- 光通量发光强度照度亮度关系_技术丨LED电子显示屏真实的亮度指数鉴别
- B00016 交换变量a和b的值
- vue-watch : 深度监控的语法格式--检测数据的tabledata这个数组的变化
- TeamViewer在windows2003上如何免费使用
- 微信小程序父子组件传值
- 智能计算作业——差分进化算法求解函数最值
- 怎么理解PKW和PZD,各有什么作用
- 【科普常识:常用音频参数解析】
- MODIS 产品介绍
- 2.1 Converting Celsius to Fahrenheit
- 图文详解PowerDesigner安装
- java导出excel模板数据
- CF 15D Map
- 利用MATLAB批量读写tif数据(Landsat78)
- SNS 社区系统设计
- CSS第九天学习总结—— favicon 图标、SEO优化、logo SEO优化
- 软件体系结构复习资料
热门文章
- 计算机控制电缆敷设长度,计算机控制电缆ZR-DJYPVP-22-6*3*1.0电缆
- pycharm安装怎么选_客厅窗帘怎么选 客厅窗帘怎么安装好看
- Python入门100题 | 第042题
- LeetCode-动态规划基础题-63. 不同路径II
- lucene基本原理
- CORS with Spring MVC--转
- Java多线程编程模式实战指南(二):Immutable Object模式--转载
- mysql 变量is null 和 not exists区别
- linux 清空文件内容命令
- nginx 学习笔记(9) 配置HTTPS服务器--转载