什么是线程 (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模块创建线程的更多相关文章

  1. Python使用Threading模块创建线程

    使用Threading模块创建线程,直接从threading.Thread继承,然后重写__init__方法和run方法: #!/usr/bin/python # -*- coding: UTF-8 ...

  2. 使用threading模块创建线程

    #_author:来童星#date:2019/12/17#使用threading模块创建线程import threading,timedef process(): for i in range(3): ...

  3. python:threading多线程模块-创建线程

    创建线程的两种方法: 1,直接调用threading.Thread来构造thread对象,Thread的参数如下: class threading.Thread(group=None, target= ...

  4. Python——threading模块(线程)

    一.threading模块的对象 Thread:表示一个执行线程的对象 Lock:锁 Rlock:可重入锁对象 Condition:条件变量对象,使得一个线程等待另一个线程满足特定的“条件” Even ...

  5. 利用threading模块开线程

    一多线程的概念介绍 threading模块介绍 threading模块和multiprocessing模块在使用层面,有很大的相似性. 二.开启多线程的两种方式 1.创建线程的开销比创建进程的开销小, ...

  6. Python之网路编程利用threading模块开线程

    一多线程的概念介绍 threading模块介绍 threading模块和multiprocessing模块在使用层面,有很大的相似性. 二.开启多线程的两种方式 1 1.创建线程的开销比创建进程的开销 ...

  7. <python的线程与threading模块>

    <python的线程与threading模块> 一 线程的两种调用方式 threading 模块建立在thread 模块之上.thread模块以低级.原始的方式来处理和控制线程,而thre ...

  8. python——threading模块

    一.什么是线程 线程是操作系统能够进行运算调度的最小单位.进程被包含在进程中,是进程中实际处理单位.一条线程就是一堆指令集合. 一条线程是指进程中一个单一顺序的控制流,一个进程中可以并发多个线程,每条 ...

  9. Python学习笔记- Python threading模块

    Python threading模块 直接调用 # !/usr/bin/env python # -*- coding:utf-8 -*- import threading import time d ...

随机推荐

  1. Deep Learning(1)

    深度学习是机器学习研究中的一个新的领域,其动机在于建立.模拟人脑进行分析学习的神经网络,它模仿人脑的机制来解释数据,例如图像,声音和文本.深度学习是无监督学习的一种. 深度学习的概念源于人工神经网络的 ...

  2. JQuery UI中的Tabs与base元素摩擦的BUG

    JQuery UI中的Tabs与base元素冲突的BUG 以前一直使用jquery-ui-1.8,最近打算试一下目前最新的版本1.11.但对于Tabs,页面是乱的,怎么也不正常.折腾了好几个小时,最后 ...

  3. mac常用操作:

    Mac常用软件需要熟悉 常用操作: command + w 关闭窗口  + n 最小化当前窗口  + m 关闭所有窗口  +  + w command + c 复制 command + v 粘贴 co ...

  4. Codeforces Round #523 (Div. 2) Solution

    A. Coins Water. #include <bits/stdc++.h> using namespace std; int n, s; int main() { while (sc ...

  5. open-falcon api相关

    本文描述通过被监控endpoint的名称获取该endpoint的eid和监控项,从而获取到该endpoint的监控历史数据,使用python代码的 api操作方法 注:同步open-falcon和ag ...

  6. mongodb的安装和权限管理

    mongodb4.0已经发布,但是鉴于线上环境更多的是使用旧版本的mongodb,我们这里使用的mongodb3.4版本. 官网下载地址为:https://fastdl.mongodb.org/lin ...

  7. 微信小程序:JS 交互逻辑

    微信小程序:JS 交互逻辑 一.JS 交互逻辑 一个服务仅仅只有界面展示是不够的,还需要和用户做交互:响应用户的点击.获取用户的位置等等.在小程序里边,我们就通过编写 JS 脚本文件来处理用户的操作. ...

  8. Mysql加锁处理分析-基于InnoDB存储引擎

    MVCC MySQL INNODB存储引擎,实现的是基于多版本的并发控制协议——MVCC (Multi-VERSION Concurrency Control).MVCC最大的好处,相信也是耳熟能详: ...

  9. HDU 3488 Tour(最小费用流:有向环最小权值覆盖)

    http://acm.hdu.edu.cn/showproblem.php?pid=3488 题意: 给出n个点和m条边,每条边有距离,把这n个点分成1个或多个环,且每个点只能在一个环中,保证有解. ...

  10. install ros-indigo-pcl-ros

    CMake Warning at /opt/ros/indigo/share/catkin/cmake/catkinConfig.cmake: (find_package): Could not fi ...