论坛首页 编程语言技术论坛

利用python的线程检测实现观察者模式

浏览 1954 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2013-12-22  
<pre name="code" class="python">import threading,time


#观察者线程
class ObserverThread(threading.Thread):
    def __init__(self, param):
        threading.Thread.__init__(self)
        self.param = param
    def run(self):
        self.doCheck()
    def doCheck(self):
        print "观察者---观望中..."
        while True:
            count = self.param.activeCount()
            if count &lt;= 2:
                msg = '被观察者---线程运行结束, 运行观察者逻辑'
                print msg
                print "观察者---运行中..."
                time.sleep(1)
                print "观察者---运行结束"
                break

#被观察者线程
class LogicThread(threading.Thread):
    def __init__(self):
        threading.Thread.__init__(self)

    def run(self):
        self.doLogic()
    #执行命令
    def doLogic(self):
        msg = "被观察者---程序运行中"
        print msg
        for i in range(0,6):
            msg = "被观察者---运行%s秒" % str(i)
            print msg
            time.sleep(1)


if __name__ == "__main__":
    print "主线程--- 任务启动"
    batchThread = LogicThread()
    batchThread.start()
    checkThread = ObserverThread(threading)
    checkThread.start()</pre>
   发表时间:2014-09-02  
count = self.param.activeCount()
            if count <= 2:

<= 2 这句请解释下,当前活跃线程 小于等于2
0 请登录后投票
论坛首页 编程语言技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics