threading模块创建线程
什么是线程 (thread)
线程也是一种多任务编程方式,可以使用计算机的多核资源。线程被称为轻量级的进程。
线程特征
*线程计算机多核分配的最小单位
*一个进程可以包含多个线程
*线程也是一个运行的过程,消耗计算机资源,多个线程共享进程的资源和空间
*线程的创建删除消耗的资源都要远远小于进程
*多个线程之间执行互不干扰
*线程也有自己的特有属性,比如指令集ID
常用函数方法:
threading.Thread()
功能 : 创建线程对象
参数 : target 线程函数
name 线程名称 默认Thread-1
args 元组 给线程函数位置传参
kwargs 字典 给线程函数键值传参
返回 : 线程对象
t.start() 启动线程
t.join([timeout]) 回收线程
t.daemon 属性
默认情况下主线程结束不会影响分支线程执行
设置为True时主线程退出则分支线程也退出
设置 daemon值
t.setDaemon(True)
t.daemon = True
判断属性值
t.isDeamon()
*要在start前设置,不会和join同用
from threading import Thread,currentThread
from time import sleep #线程函数
def fun(sec):
print("线程属性测试")
sleep(sec)
#线程对象的getName()属性获取名字
print("%s 线程结束"%currentThread().getName()) #创建线程
thread = []
for i in range(3):
t = Thread(name = "zengsf%d"%i, target = fun, args = (2,))
thread.append(t)
t.start() print("is alive:", t.is_alive()) #参看线程状态
thread[1].setName("fengshao") #设置线程对象名称
print(thread[1].name) #获取线程名称
#回收进程
for i in thread:
i.join()
输出结果:
线程属性测试
线程属性测试
线程属性测试
is alive: True
fengshao
zengsf0 线程结束
fengshao 线程结束
zengsf2 线程结束
threading模块创建线程的更多相关文章
- Python使用Threading模块创建线程
使用Threading模块创建线程,直接从threading.Thread继承,然后重写__init__方法和run方法: #!/usr/bin/python # -*- coding: UTF-8 ...
- 使用threading模块创建线程
#_author:来童星#date:2019/12/17#使用threading模块创建线程import threading,timedef process(): for i in range(3): ...
- python:threading多线程模块-创建线程
创建线程的两种方法: 1,直接调用threading.Thread来构造thread对象,Thread的参数如下: class threading.Thread(group=None, target= ...
- Python——threading模块(线程)
一.threading模块的对象 Thread:表示一个执行线程的对象 Lock:锁 Rlock:可重入锁对象 Condition:条件变量对象,使得一个线程等待另一个线程满足特定的“条件” Even ...
- 利用threading模块开线程
一多线程的概念介绍 threading模块介绍 threading模块和multiprocessing模块在使用层面,有很大的相似性. 二.开启多线程的两种方式 1.创建线程的开销比创建进程的开销小, ...
- Python之网路编程利用threading模块开线程
一多线程的概念介绍 threading模块介绍 threading模块和multiprocessing模块在使用层面,有很大的相似性. 二.开启多线程的两种方式 1 1.创建线程的开销比创建进程的开销 ...
- <python的线程与threading模块>
<python的线程与threading模块> 一 线程的两种调用方式 threading 模块建立在thread 模块之上.thread模块以低级.原始的方式来处理和控制线程,而thre ...
- python——threading模块
一.什么是线程 线程是操作系统能够进行运算调度的最小单位.进程被包含在进程中,是进程中实际处理单位.一条线程就是一堆指令集合. 一条线程是指进程中一个单一顺序的控制流,一个进程中可以并发多个线程,每条 ...
- Python学习笔记- Python threading模块
Python threading模块 直接调用 # !/usr/bin/env python # -*- coding:utf-8 -*- import threading import time d ...
随机推荐
- JavaScript在页面中的引用方法
现在前端开发越来越流行,框架也越来越多,像ExtJs.JQuery.Bootstrap等.虽然入行这么多年,但是感觉自己在前端方面还是存在基础不牢的地方,特别是CSS和JS.因此最近打算重新阅读这方面 ...
- Java基础教程:网络编程
Java基础教程:网络编程 基础 Socket与ServerSocket Socket又称"套接字",网络上的两个程序通过一个双向的通信连接实现数据的交换,这个连接的一端称为一个s ...
- 【开源】检查更新程序 CheckUpdate.Net 的实现
访问最新源代码及更新历史:http://git.oschina.net/xcong/CheckUpdate.Net DownLoad 更新历史 version 1.2 [新增]添加UpdateFile ...
- Fiddler 手机无法上网问题
一.Fiddler版本升级后需要升级netframework 二.每一个域名点击需要授权 出现此页面依次点击显示详细信息和访问此网站. 有时候网站白板,可能是cdn域名没有授权的原因,可以直接在url ...
- Sublime Text 3 配置Python3.x
Sublime Text 3 配置Python3.x 一.Package Control 安装: 1,通过快捷键 ctrl+` 或者 View > Show Console 打开控制台,然后粘贴 ...
- 2018-2019-1 20189215《Linux内核原理与分析》第三周作业
<庖丁解牛>第二章书本知识总结 函数调用框架 call指令有两个作用: (1) 将CS:EIP中下一条指令的地址A保存在栈顶: (2)设置CS:EIP指向被调用程序的第一行. ret指令在 ...
- FromBottomToTop第十一周项目博客
FromBottomToTop第十一周项目博客 项目内容 塔防游戏 大体就是在地图上以合理阵型建设防御炮塔来阻止小怪进入我方阵地.玩家需用现有的金币进行炮台建设或升级,金币数可根据打怪个数增加.入侵的 ...
- HeyWeGo第四周项目总结
HeyWeGo第四周项目总结 项目内容 使用java程序开发一款扫雷游戏 游戏项目规划: 确定游戏中方块格子的个数 确定游戏中地雷的个数(初始10个),完成布雷 计算每个方块周围的雷数,在方块周围本身 ...
- HBuilder 获取通讯录
代码: var content=""; function getCallLog() { try{ plus.contacts.getAddressBook(plus.contact ...
- The P4 Language Specification v1.0.2 Introduction部分
Introduction P4 is a declarative language for expressing how packets are processed by the pipeline o ...