`
san_yun
  • 浏览: 2653628 次
  • 来自: 杭州
文章分类
社区版块
存档分类
最新评论

python守护线程

 
阅读更多
1.设置为守护线程之后主线程退出后守护线程也会随着退出。
2.子线程如果主线程join的话那么在子线程等待中主线程也会等着直到子线程退出后才能往下执行。
3.可以通过join(timeout)来实现退出,但是如果子线程不是守护线程的话那么主线程时间到了退出了,子线程还在执行,这样就出现子线程卡死了,但是主线程不知道,因而引入守护线程。

        configIpThread = ConfigIpThread(self, ipDic, cloudName, username, password)
        configIpThread.setDaemon(True)
        configIpThread.start()
        configIpThread.join(timeout)

等时间结束后守护线程也会退出。

参考:
http://www.ibm.com/developerworks/cn/aix/library/au-threadingpython/
分享到:
评论

相关推荐

    Python守护线程用法实例

    在Python编程中,线程是并发执行任务的基本单位,而守护线程(Daemon Thread)是一种特殊类型的线程,它的主要特点是当所有非守护线程结束时,即使守护线程还在运行,Python解释器也会强制退出。了解并正确使用守护...

    python实现守护进程、守护线程、守护非守护并行

    Python中的守护进程(daemon process)、守护线程(daemon thread)以及如何实现守护和非守护的并行处理是多任务编程中的重要概念。在Python中,这些功能主要通过`multiprocessing`和`threading`模块来实现。 守护...

    Python多线程学习

    例如,可以使用`setDaemon(True)`将线程标记为守护线程,这意味着当所有非守护线程结束时,该线程也会被终止。另外,`isAlive()`方法可以用来检查线程是否正在运行。 #### 线程同步与锁 在多线程编程中,为了避免...

    python多线程编程.rar

    `threading`库中的`Thread`类不仅包括了`thread`库的基本功能,还增加了命名、守护线程、优先级等功能。此外,`threading`库还提供了事件(Event)、条件变量(Condition)、信号量(Semaphore)、锁(Lock)等同步...

    Python多线程Socket程序例子

    - `setDaemon(True)`将线程标记为守护线程,当所有非守护线程结束后,即使仍有守护线程运行,程序也会退出。 在`MultitaskThreadSocket.py`的例子中,我们可以预期它会创建一个Socket服务器,每当有新的客户端连接...

    Python多线程示例

    9. **守护线程(daemon)**:线程可以通过设置`daemon`属性为`True`或`False`来指定其是否为守护线程。守护线程不会阻止进程的结束,通常用于后台任务。 10. **线程间的通信**:Python的`queue`模块提供了线程安全...

    python多线程ping服务器在线情况

    - 创建多个线程实例,并设置为守护线程,这意味着主线程结束时这些线程也会被强制结束。 - 将待检测的主机地址放入队列中。 - 调用`queue.join()`确保所有任务完成前主线程不会退出。 4. **读取IP列表** ```...

    对python 多线程中的守护线程与join的用法详解

    守护线程:如果在程序中将子线程设置为守护线程,则该子线程会在主线程结束时自动退出,设置方式为thread.setDaemon(True),要在thread.start()之前设置,默认是false的,也就是主线程结束时,子线程依然在执行。...

    python多线程专题

    本文将深入探讨Python多线程的相关知识点,包括线程的创建、线程加锁、线程间通信、线程池的使用以及守护线程与线程状态信息的理解。 1. **线程创建** 在Python中,我们可以使用`threading`模块来创建线程。通过...

    python多线程1

    3. **守护线程**:使用`setDaemon(True)`方法将线程设置为守护线程,守护线程在所有非守护线程结束后随主进程一同结束: ```python import threading def run(n): print(f"task {n}") if __name__ == '__main...

    Python多线程编程简单介绍

    在主程序结束前,如果还有守护线程在运行,Python解释器将直接退出。`setDaemon`方法需要在`start`方法之前调用。 我们通过一个简单的示例来演示如何使用Python的`threading`模块: ```python import threading ...

    「Python入门」Python多线程

    一旦将线程设置为守护线程,那么当主线程(或被守护的线程)结束时,守护线程也会自动退出,即使该线程还未执行完成。 - **设置守护线程**:通过调用`setDaemon(True)`方法可以将线程设置为守护线程。 - **作用**...

    Python守护进程实现过程详解

    实现Python守护线程主要涉及`threading`模块中的`setDaemon()`方法。以下是对该方法的详细解释: 1. **设置守护线程**: - 在创建线程并调用`start()`方法启动线程之前,你需要调用`setDaemon(True)`来设置该线程...

    Python多线程编程方式2 threading库的介绍源码

    当主线程结束时,所有非守护线程将被强制终止,而守护线程则会继续运行,直到它们完成自己的工作。 4. **线程池**:`ThreadPoolExecutor`是`concurrent.futures`模块的一部分,它允许预先创建一组线程,然后异步...

    python多线程开发

    - 设置线程的`daemon`属性为`True`,当主线程结束时,守护线程也会被强制结束,无论其是否还在运行。 - 非守护线程则必须执行完毕才能结束进程。 7. **线程间的通信**: - 使用`queue`模块提供的队列类进行线程...

    Python多线程编程篇教程(实例).PDF

    - **守护线程(后台线程)**:守护线程主要用于执行后台任务,如日志记录等。当所有非守护线程结束时,守护线程将自动结束。 - **前台线程**:除了守护线程之外的所有线程,这些线程通常是用户直接创建的线程,需要...

    python多线程调用exit无法退出的解决方法

    如果某个非守护线程(daemon)仍在运行,Python解释器不会立即退出,直到所有非守护线程都结束。 当我们在多线程中调用`exit()`时,可能会遇到无法退出的情况,这是因为`exit()`抛出的`SystemExit`异常可能被线程的...

    python多线程第一课笔记(csdn)————程序.pdf

    这篇笔记主要讲解了Python中的多线程基础知识,包括单线程、多线程的创建、守护线程以及线程的join方法。 1. 单线程: 在Python中,程序默认是单线程执行的。例如,`test_1`和`test_2`两个函数按照顺序执行,`test_...

Global site tag (gtag.js) - Google Analytics