亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

  免費(fèi)注冊 查看新帖 |

Chinaunix

  平臺 論壇 博客 文庫
最近訪問板塊 發(fā)新帖
查看: 9833 | 回復(fù): 2
打印 上一主題 下一主題

python線程和進(jìn)程的退出問題 [復(fù)制鏈接]

論壇徽章:
0
跳轉(zhuǎn)到指定樓層
1 [收藏(0)] [報告]
發(fā)表于 2012-11-18 10:25 |只看該作者 |倒序?yàn)g覽
主進(jìn)程創(chuàng)建一個子進(jìn)程p,對一些數(shù)據(jù)進(jìn)行處理,
然后再創(chuàng)建一個線程th,主要負(fù)責(zé)監(jiān)控一個外部條件是否滿足,如果條件滿足,則通過terminate結(jié)束子進(jìn)程p;
子進(jìn)程p退出后,如何退出線程th?試了用join沒有達(dá)到預(yù)期效果
這種處理方式有問題么?

代碼邏輯如下:
###################
global_p = 0

test():
......
while True:
if(condition == True):
global_p.terminate()
......

if __name__ == "__main__":
......
while True:
   ......        
th = threading.Thread(target = test,args=())
th.start()
p = multiprocessing.Process(target = s_process, args=(,))
p.start()
global_p = p               
p.join()   

論壇徽章:
4
水瓶座
日期:2013-09-06 12:27:30摩羯座
日期:2013-09-28 14:07:46處女座
日期:2013-10-24 14:25:01酉雞
日期:2014-04-07 11:54:15
2 [報告]
發(fā)表于 2012-11-18 10:44 |只看該作者
本帖最后由 linux_c_py_php 于 2012-11-18 11:21 編輯

這得用條件變量+互斥鎖才能完成.

你需要對multiprocessing存在的理由與threading進(jìn)行比較, 了解python的GIL, 并且知道m(xù)ultiprocessing的實(shí)現(xiàn)原理, 怎么實(shí)現(xiàn)進(jìn)程間共享互斥鎖和條件變量, 怎么共享普通變量, 怎么使用互斥鎖與條件變量保證事件不會丟失, 要求較高.
  1. [root@vps616 python]# cat main.py
  2. #python2.7.3
  3. #coding=utf-8

  4. from multiprocessing import Process, Lock, Condition, Value

  5. def callback(mutex, cond, val):
  6.     mutex.acquire()
  7.     while not val.value:
  8.         cond.wait()
  9.     print "sub proc done, exit..."
  10.     mutex.release()

  11. if __name__ == "__main__":
  12.     mutex = Lock()
  13.     cond = Condition(mutex)
  14.     val = Value('i', 0)
  15.     proc = Process(target = callback, args = (mutex, cond, val))
  16.     proc.start()
  17.     mutex.acquire()
  18.     val.value = 1
  19.     cond.notify()
  20.     mutex.release()
  21.     proc.join()
復(fù)制代碼

論壇徽章:
33
榮譽(yù)會員
日期:2011-11-23 16:44:17天秤座
日期:2014-08-26 16:18:20天秤座
日期:2014-08-29 10:12:18丑牛
日期:2014-08-29 16:06:45丑牛
日期:2014-09-03 10:28:58射手座
日期:2014-09-03 16:01:17寅虎
日期:2014-09-11 14:24:21天蝎座
日期:2014-09-17 08:33:55IT運(yùn)維版塊每日發(fā)帖之星
日期:2016-04-17 06:23:27操作系統(tǒng)版塊每日發(fā)帖之星
日期:2016-04-18 06:20:00IT運(yùn)維版塊每日發(fā)帖之星
日期:2016-04-24 06:20:0015-16賽季CBA聯(lián)賽之天津
日期:2016-05-06 12:46:59
3 [報告]
發(fā)表于 2012-11-20 18:04 |只看該作者
在這行后面加一行 global_p.terminate()

sys.exit(0)



您需要登錄后才可以回帖 登錄 | 注冊

本版積分規(guī)則 發(fā)表回復(fù)

  

北京盛拓優(yōu)訊信息技術(shù)有限公司. 版權(quán)所有 京ICP備16024965號-6 北京市公安局海淀分局網(wǎng)監(jiān)中心備案編號:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年舉報專區(qū)
中國互聯(lián)網(wǎng)協(xié)會會員  聯(lián)系我們:huangweiwei@itpub.net
感謝所有關(guān)心和支持過ChinaUnix的朋友們 轉(zhuǎn)載本站內(nèi)容請注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP