t2.setDaemon(True)不再等待里面的sleep(5)。

当设成setDaemon(True)这个线程就不等了。

  例子一:

import threading
from time import ctime, sleep def music(func):
  for i in range(2):
    print(func, ctime())      # 1 执行  # 5 执行
    sleep(1)
    print("end music", ctime())  # 4 执行  # 6 执行 def move(func):
  for i in range(2):
    print(func, ctime())      # 2 执行
    sleep(5)
    print("end move", ctime())

 threads = []

 t1 = threading.Thread(target=music,args=("小苹果",))

threads.append(t1)

t2 = threading.Thread(target=move,args=("华尔街之狼",))

threads.append(t2)

if __name__ == "__main__":

  t2.setDaemon(True)

  for t in threads:

    t.start()

  print("程序执行结束", ctime())    # 3 执行

程序运行结果:

小苹果 Fri Sep  7 20:04:24 2018
华尔街之狼 Fri Sep 7 20:04:24 2018
程序执行结束 Fri Sep 7 20:04:24 2018
end music Fri Sep 7 20:04:25 2018
小苹果 Fri Sep 7 20:04:25 2018
end music Fri Sep 7 20:04:26 2018

  ------------------------------------------------------------------------------------------------------

  例子二:

t.setDaemon(True)谁也不等待
import threading
from time import ctime, sleep def music(func):
  for i in range(2):
    print(func, ctime())      # 1 执行  
    sleep(1)
    print("end music", ctime())   def move(func):
  for i in range(2):
    print(func, ctime())      # 2 执行
    sleep(5)
    print("end move", ctime())
 threads = []  t1 = threading.Thread(target=music,args=("小苹果",)) threads.append(t1) t2 = threading.Thread(target=move,args=("华尔街之狼",)) threads.append(t2) if __name__ == "__main__":
  for t in threads:
     t.setDaemon(True)
    t.start()
  print("程序执行结束", ctime())    # 3 执行

程序运行结果:

小苹果 Fri Sep 7 20:18:31 2018
华尔街之狼 Fri Sep 7 20:18:31 2018
程序执行结束 Fri Sep 7 20:18:31 2018

Daemon 守护线程(27-11)的更多相关文章

  1. join和 Daemon守护线程

    一.前言 一个程序至少有一个主线程,主线程启动子线程后,它们之间并没有隶属关系.主线程和子线程执行是并行的,相互独立.主线程执行完毕后默认不等子线程执行结束就接着往下走了,如果有其他程序就会运行另外的 ...

  2. (4)进程---daemon守护线程和join阻塞

    join ()方法:主线程A中,创建了子线程B,并且在主线程A中调用了B.join(),那么,主线程A会在调用的地方等待,直到子线程B完成操作后,才可以接着往下执行,那么在调用这个线程时可以使用被调用 ...

  3. java 多线程:Thread类常用方法:setPriority优先级、interrupt中断标记、suspend暂停与唤醒resume(已过时);daemon守护线程

    常用方法: boolean isAlive() 测试此线程是否存活. boolean isDaemon() 测试此线程是否为守护程序线程. static void sleep?(long millis ...

  4. Java Daemon 守护线程

    Java中可以通过Thread或ThreadGroup的setDaemon方法将线程设置为守护线程 当所有非守护线程退出后 守护线程将被杀死不在运行 .Net中可以通过设置IsBackground属性 ...

  5. Java中的守护线程和非守护线程(转载)

    <什么是守护线程,什么是非守护线程> Java有两种Thread:"守护线程Daemon"(守护线程)与"用户线程User"(非守护线程). 用户线 ...

  6. JVM内的守护线程Deamon与用户线程User Thread

    转载请注明原文地址:http://www.cnblogs.com/ygj0930/p/6561771.html  一:守护线程Daemon 守护线程:Daemon在希腊神话中解作“守护神”,顾名思义就 ...

  7. JAVA - 守护线程(Daemon Thread)

    转载自:http://www.cnblogs.com/luochengor/archive/2011/08/11/2134818.html 在Java中有两类线程:用户线程 (User Thread) ...

  8. java并发编程学习: 守护线程(Daemon Thread)

    在正式理解这个概念前,先把 守护线程 与 守护进程 这二个极其相似的说法区分开,守护进程通常是为了防止某些应用因各种意外原因退出,而在后台独立运行的系统服务或应用程序. 比如:我们开发了一个邮件发送程 ...

  9. JAVA并发编程——守护线程(Daemon Thread)

    在Java中有两类线程:用户线程 (User Thread).守护线程 (Daemon Thread). 所谓守护 线程,是指在程序运行的时候在后台提供一种通用服务的线程,比如垃圾回收线程就是一个很称 ...

随机推荐

  1. mac系统下通过安装包的形式安装mongdb

    下载地址 mongoDB mongoDB 图形化管理软件 MongoDB Compass 下载完成后,进行解压,解压后的文件进行重命名 mongodb 然后前往/usr/local,将mongodb文 ...

  2. 欧拉函数+反演——2019hdu多校6588

    \[ 求\sum_{i=1}^{n}(\sqrt[3]i,i)\\ 首先转化一下这个式子,考虑对于i\in[j^3,(j+1)^3-1],\sqrt[3]i=j\\ 所以可以枚举所有j,然后对i\in ...

  3. BZOJ 4517: [Sdoi2016]排列计数(组合数学)

    题面 Description 求有多少种长度为 n 的序列 A,满足以下条件: 1 ~ n 这 n 个数在序列中各出现了一次 若第 i 个数 A[i] 的值为 i,则称 i 是稳定的.序列恰好有 m ...

  4. C++源文件的后缀名问题

    VC里用cpp作后缀名, 在GCC里默认采用C.cc.cxx作为后缀名 .cpp, .h (VS file).cc, .h (GCC file)   C中: 头文件后缀名: .h 源文件后缀名: .c ...

  5. ggplot2在一幅图上画两条曲线

    ggplot2在一幅图上画两条曲线 print(data)后的结果是 C BROWN.P MI.P 0 0.9216 0.9282 30 0.9240 0.9282 100 0.9255 0.9282 ...

  6. USACO 2007 “March Gold” Ranking the Cows

    题目链接:https://www.luogu.org/problemnew/show/P2881 题目链接:https://vjudge.net/problem/POJ-3275 题目大意 给定标号为 ...

  7. 拾遗:{rpm、yum及源码方式管理软件包}

    一.yum配置文件位置 /etc/yum.conf /etc/yum.repos.d/*.repo 二.yum常用命令 install pkgs reinstall pkgs update pkgs ...

  8. Android读取logcat信息

    测试的时候,经常遇到开发需要logcat分析定位bug,今天简单记录一下获取logcat的方法 前提条件:电脑中要安装好Android SDK 1.cmd 进入到这个界面 2.电脑连上手机,手机记得打 ...

  9. 7-MySQL高级-主从-1

    1. 主从同步的定义 主从同步使得数据可以从一个数据库服务器复制到其他服务器上,在复制数据时,一个服务器充当主服务器(master),其余的服务器充当从服务器(slave). 因为复制是异步进行的,所 ...

  10. weblogic上传木马路径选择

    对于反序列化漏洞,如果获得的是系统权限或者root权限,那就没必要上传木马,但如果只是web安装应用的权限,就上传获取更大权限. 上传需要找到几个点,获取物理路径,如下面三种: 方法1:把shell写 ...