Python多线程threading创建及使用方法解析


Posted in Python onJune 17, 2020

一、线程创建方法

1. 普通创建

import threading
def run(name):
  for i in range(3):
  print(name)
if __name__ == '__main__':
  t1 = threading.Thread(target=run, args=("t1",))
  t2 = threading.Thread(target=run, args=("t2",))
  t1.start()
  t2.start()

--------------------------------------------
t1
t2
t2
t1
t2
t1

2. 自定义线程类

import threading
class MyThread(threading.Thread):
  def __init__(self, name):
    super(MyThread, self).__init__()
    self.name = name
  def run(self):
    for i in range(3):
      print(self.name)
if __name__ == "__main__":
  t1 = MyThread("t1")
  t2 = MyThread("t2")
  t1.start()
  t2.start()

二、线程的使用

1.守护线程

子线程会随着主线程的结束而结束

t = threading.Thread(target=run, args=("t1",))
t.setDaemon(True) # 把子进程设置为守护线程,必须在start()之前设置
t.start()

2.主线程等待子线程结束

t = threading.Thread(target=run, args=("t1",))
t.setDaemon(True)
t.join() # 设置主线程等待子线程结束
t.start()

3.互斥锁

from threading import Thread,Lock
n = 10
def run():
  global n
  locker.acquire()
  n -= 1
  locker.release()

if __name__ == '__main__':
  locker = Lock()
  t1 = Thread(target=run)
  t2 = Thread(target=run)
  t1.start()
  t2.start()

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python二分法实现实例
Nov 21 Python
Windows下安装python2.7及科学计算套装
Mar 05 Python
python3 读写文件换行符的方法
Apr 09 Python
python实现反转部分单向链表
Sep 27 Python
Python Numpy:找到list中的np.nan值方法
Oct 30 Python
Python3获取拉勾网招聘信息的方法实例
Apr 03 Python
Python封装成可带参数的EXE安装包实例
Aug 24 Python
win10环境下配置vscode python开发环境的教程详解
Oct 16 Python
Python 列表反转显示的四种方法
Nov 16 Python
用python读取xlsx文件
Dec 17 Python
详解Python自动化之文件自动化处理
Jun 21 Python
Python移位密码、仿射变换解密实例代码
Jun 27 Python
Python偏函数Partial function使用方法实例详解
Jun 17 #Python
详解Python IO口多路复用
Jun 17 #Python
基于keras中的回调函数用法说明
Jun 17 #Python
Python学习之路安装pycharm的教程详解
Jun 17 #Python
Python闭包及装饰器运行原理解析
Jun 17 #Python
浅谈Python协程
Jun 17 #Python
使用K.function()调试keras操作
Jun 17 #Python
You might like
PHP二维数组矩形转置实例
2016/07/20 PHP
尽可能写"友好"的"Javascript"代码
2007/01/09 Javascript
dropdownlist之间的互相联动实现(显示与隐藏)
2009/11/24 Javascript
js中的值类型和引用类型小结 文字说明与实例
2010/12/12 Javascript
解析javascript 数组以及json元素的添加删除
2013/06/26 Javascript
jqGrid随窗口大小变化自适应大小的示例代码
2013/12/28 Javascript
js实现的捐赠管理完整实例
2015/01/20 Javascript
jQuery插件开发精品教程(让你的jQuery更上一个台阶)
2015/11/07 Javascript
JavaScript中setTimeout和setInterval函数的传参及调用
2016/03/11 Javascript
有关jquery与DOM节点操作方法和属性记录
2016/04/15 Javascript
微信小程序入门教程
2016/11/18 Javascript
bootstrap网格系统使用方法解析
2017/01/13 Javascript
webpack3+React 的配置全解
2017/08/21 Javascript
js实现鼠标移动到图片产生遮罩效果
2017/10/21 Javascript
微信小程序表单验证功能完整实例
2017/12/01 Javascript
微信小程序实现分享到朋友圈功能
2018/07/19 Javascript
微信小程序五子棋游戏AI实现方法【附demo源码下载】
2019/02/20 Javascript
微信小程序实现canvas分享朋友圈海报
2020/06/21 Javascript
[51:07]VGJ.S vs Pain 2018国际邀请赛小组赛BO2 第一场 8.17
2018/08/20 DOTA
python字符串string的内置方法实例详解
2018/05/14 Python
Python给定一个句子倒序输出单词以及字母的方法
2018/12/20 Python
Python正则匹配判断手机号是否合法的方法
2020/12/09 Python
python如何获取当前文件夹下所有文件名详解
2019/01/25 Python
Python何时应该使用Lambda函数
2019/07/02 Python
Python的bit_length函数来二进制的位数方法
2019/08/27 Python
Python龙贝格法求积分实例
2020/02/29 Python
pandas按照列的值排序(某一列或者多列)
2020/12/13 Python
使用HTML5的链接预取功能(link prefetching)给网站提速
2012/12/13 HTML / CSS
自荐信的禁忌和要点
2013/10/15 职场文书
最新大学职业规划书范文
2013/12/30 职场文书
劳动模范事迹材料
2014/01/19 职场文书
优秀女职工事迹材料
2014/02/06 职场文书
技校毕业生自荐信范文
2014/03/07 职场文书
党的群众路线教育实践活动公开承诺书
2014/03/28 职场文书
向国旗敬礼活动小结
2014/09/27 职场文书
党员评议自我评价
2015/03/03 职场文书