zoukankan      html  css  js  c++  java
  • 进程与线程

    @

    进程与线程

    1. 进程是程序执行的最小线程
    2. 一个进程由多个线程组成
    3. 进程之间相互独立,同一个进程各线程共享内存空间包括代码段、数据集、堆等)及一些进程级的资源(如打开文件和信号),某进程内的线程在其它进程不可见;
    4. 调度和切换:线程上下文切换比进程上下文切换要快得多。

    threading使用简介-1

    threading.Thread(self, group=None, target=None, name=None, args=(), kwargs={})   
    Thread 是threading模块中最重要的类之一,可以使用它来创建线程。有两种方式来创建线程:一种是通过继承Thread类,重写它的run方法;另一种是创建一个threading.Thread对象,在它的初始化函数(init)中将可调用对象作为参数传入。
    参数group是预留的,用于将来扩展;
    参数target是一个可调用对象(也称为活动[activity]),在线程启动后执行;
    参数name是线程的名字。默认值为“Thread-N“,N是一个数字。
    参数args和kwargs分别表示调用target时的参数列表和关键字参数。

    threading使用简介-2

    Thread类还定义了以下常用方法与属性:
    Thread.getName()/ Thread.name 用于获取线程的名称,有返回值,需要print打印出来。
    Thread.setName() 用于设置线程的名称,没有返回值,print打印出来事None
    Thread.ident 获取线程的标识符。线程标识符是一个非零整数,只有在调用了start()方法之后该属性才有效,否则它只返回None。
    Thread.is_alive() /Thread.isAlive 判断线程是否是激活的(alive)。从调用start()方法启动线程,到run()方法执行完毕或遇到未处理异常而中断这段时间内,线程是激活的。
    Thread.join([timeout]) 调用Thread.join将会使线程堵塞,直到被调用线程运行结束或超时。参数timeout是一个数值类型,表示超时时间,如果未提供该参数,那么主调线程将一直堵塞到被调线程结束。

    threading使用简介-3

    Thread.join([timeout]) 调用Thread.join将会使主线程堵塞,直到被调用线程运行结束或超时。参数timeout是一个数值类型,表示超时时间,如果未提供该参数,那么主调线程将一直堵塞到被调线程结束。

    1. 什么是子线程?
      包含在 threading.Thread中,里面均视为子线程。
    2. 什么是主线程?
      除了“不包含在Thread里面的程序”,UI界面和Main函数均为主线程,均可视为主线程。

    threading使用简介-4

    Thread类还定义了以下常用方法与属性:
    python对于thread的管理中有两个函数:
    Join()和setDaemon()  
    join:如在一个线程B中调用thread1.join(),则thread1结束后,线程B才会接着threada.join()往后运行。   
    setDaemon:主线程A启动了子线程B,调用B.setDaemaon(True),则主线程结束时,会把子线程B也杀死。必须在运行线程之前设置。
    Thread.isDaemon()/ Thread.daemon 用于获取线程的名称,有返回值,需要print打印出来。

  • 相关阅读:
    mvc Controller类介绍
    Mvc全局过滤器与Action排除
    MVC项目实践,在三层架构下实现SportsStore-03,Ninject控制器工厂等
    EF查询数据库框架的搭建
    MVC项目实践,在三层架构下实现SportsStore-01,EF Code First建模、DAL层等
    BootstrapTable与KnockoutJS相结合实现增删改查功能
    JSON详解
    Asp.net管道模型(管线模型)
    NET/ASP.NET MVC Controller 控制器(一:深入解析控制器运行原理)
    .NET/ASP.NET Routing路由(深入解析路由系统架构原理)
  • 原文地址:https://www.cnblogs.com/tankeyin/p/12292517.html
Copyright © 2011-2022 走看看