zoukankan      html  css  js  c++  java
  • python中的thread

    转载自: http://blog.sina.com.cn/s/blog_9f488855010198vn.html

    正确与否未验证

          python中得thread的一些机制和C/C++不同:在C/C++中,主线程结束后,其子线程会默认被主线程kill掉。而在python中,主线程结束后,会默认等待子线程结束后,主线程才退出。

            python对于thread的管理中有两个函数:join和setDaemon

    • join:如在一个线程B中调用threada.join(),则threada结束后,线程B才会接着threada.join()往后运行。
    • setDaemon:主线程A启动了子线程B,调用b.setDaemaon(True),则主线程结束时,会把子线程B也杀死,与C/C++中得默认效果是一样的。

    在这里给出一个例子:

    复制代码
     1 #! /usr/bin/env python 2  
     3 import threading
     4 import time
     5  
     6 class myThread(threading.Thread):
     7   def __init__(self, threadname):
     8     threading.Thread.__init__(self, name=threadname)
     9     self.st = 2 
    10  
    11   def run(self):
    12     time.sleep(self.st)
    13     print self.getName()
    14   def setSt(self, t): 
    15     self.st = t 
    16  
    17 def fun1():
    18   t1.start()
    19   print "fun1 done"
    20  
    21 def fun2():
    22   t2.start()
    23   print "fun2 done"
    24  
    25 t1=myThread("t1")
    26 t2=myThread("t2")
    27 t2.setSt(10);
    28 # t2.setDaemon(True)29 fun1()
    30 fun2()
    31 print "now u will see me"
  • 相关阅读:
    74.Android之四种启动模式
    Android面试总结 (转)
    1.Android常见异常:android.view.WindowLeaked 分析以及解决办法
    73.Android之SparseArray替代HashMap
    C#(类)
    C#(一维数组)
    C#(二维数组/集合)
    c#(特殊集合)
    C#字符串去除html格式
    获取文件的后缀名 和 Process进程
  • 原文地址:https://www.cnblogs.com/talenth/p/5820071.html
Copyright © 2011-2022 走看看