zoukankan      html  css  js  c++  java
  • 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 线程结束
  • 相关阅读:
    简单的实现了利用plist进行大图分割小图
    windows 10升级后系统盘清理
    在window下用编译lua源文件生成lua程序
    window下ip切换
    springMVC对简单对象、Set、List、Map的数据绑定和常见问题.
    MIME类型大全
    Apache poi 固定Excel 表格导入数据库方法(列名对应数据库字段名)
    java 通过Apache poi导出excel代码demo实例
    mySQL 开启事件存储过程
    Mysql 变量讲解
  • 原文地址:https://www.cnblogs.com/zengsf/p/9649409.html
Copyright © 2011-2022 走看看