进行程序开发的时候,肯定避免不了要处理并发的情况,一般使用多线程实现并发
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()使用详解相关推荐

  1. python中的线程threading.Thread()使用

    1. 线程的概念: 线程,有时被称为轻量级进程(Lightweight Process,LWP),是程序执行流的最小单元.一个标准的线程由线程ID,当前指令指针(PC),寄存器集合和堆栈组成.另外,线 ...

  2. python gil 解除_详解Python中的GIL(全局解释器锁)详解及解决GIL的几种方案

    先看一道GIL面试题: 描述Python GIL的概念, 以及它对python多线程的影响?编写一个多线程抓取网页的程序,并阐明多线程抓取程序是否可比单线程性能有提升,并解释原因. GIL:又叫全局解 ...

  3. python中时间戳、字符串之间转换详解

    [转载]python中时间戳.字符串之间转换详解 (2013-04-30 17:36:07) 转载▼ 标签: 转载 原文地址:python中时间戳.字符串之间转换详解作者:doris0920 1)秒数 ...

  4. python argv 详解_对python中的argv和argc使用详解

    主要问题 为什么argv中第一个,即index=0的内容就是文件名? python中argc是用什么实现的? 概念解释 argc:argument counter,命令行参数个数 argv:argum ...

  5. Python中的__name__和__main__含义详解

    背景 在写Python代码和看Python代码时,我们常常可以看到这样的代码: ? 1 2 3 4 5 def main():     ...... if __name__ == "__ma ...

  6. python的raw_ input是什么意思-对python中raw_input()和input()的用法详解

    最近用到raw_input()和input()来实现即时输入,就顺便找了些资料来看,加上自己所用到的一些内容,整理如下: 1.raw_input() raw_input([prompt]) -> ...

  7. python中str和input_对python中raw_input()和input()的用法详解

    最近用到raw_input()和input()来实现即时输入,就顺便找了些资料来看,加上自己所用到的一些内容,整理如下: 1.raw_input() raw_input([prompt]) -> ...

  8. python3 isinstance用法_对python中assert、isinstance的用法详解

    1. assert 函数说明: Assert statements are a convenient way to insert debugging assertions into a program ...

  9. python中关于深拷贝和浅拷贝的详解

    python中关于深拷贝和浅拷贝的详解 概述 在python的语法中,有两种变量的拷贝方式 一种是深拷贝,一种是浅拷贝 我们先说深拷贝 语法 这里需要通过导入系统的copy模块中的deepcopy才可 ...

最新文章

  1. 使用salt-api来搭建salt自动化平台
  2. C#——《C#语言程序设计》实验报告——数据库编程——基于ADO.NET技术的数据库操作DEMO
  3. wxWidgets:wxRegEx类用法
  4. 光通量发光强度照度亮度关系_技术丨LED电子显示屏真实的亮度指数鉴别
  5. B00016 交换变量a和b的值
  6. vue-watch : 深度监控的语法格式--检测数据的tabledata这个数组的变化
  7. TeamViewer在windows2003上如何免费使用
  8. 微信小程序父子组件传值
  9. 智能计算作业——差分进化算法求解函数最值
  10. 怎么理解PKW和PZD,各有什么作用
  11. 【科普常识:常用音频参数解析】
  12. MODIS 产品介绍
  13. 2.1 Converting Celsius to Fahrenheit
  14. 图文详解PowerDesigner安装
  15. java导出excel模板数据
  16. CF 15D Map
  17. 利用MATLAB批量读写tif数据(Landsat78)
  18. SNS 社区系统设计
  19. CSS第九天学习总结—— favicon 图标、SEO优化、logo SEO优化
  20. 软件体系结构复习资料

热门文章

  1. 计算机控制电缆敷设长度,计算机控制电缆ZR-DJYPVP-22-6*3*1.0电缆
  2. pycharm安装怎么选_客厅窗帘怎么选 客厅窗帘怎么安装好看
  3. Python入门100题 | 第042题
  4. LeetCode-动态规划基础题-63. 不同路径II
  5. lucene基本原理
  6. CORS with Spring MVC--转
  7. Java多线程编程模式实战指南(二):Immutable Object模式--转载
  8. mysql 变量is null 和 not exists区别
  9. linux 清空文件内容命令
  10. nginx 学习笔记(9) 配置HTTPS服务器--转载