黄色网页视频 I 影音先锋日日狠狠久久 I 秋霞午夜毛片 I 秋霞一二三区 I 国产成人片无码视频 I 国产 精品 自在自线 I av免费观看网站 I 日本精品久久久久中文字幕5 I 91看视频 I 看全色黄大色黄女片18 I 精品不卡一区 I 亚洲最新精品 I 欧美 激情 在线 I 人妻少妇精品久久 I 国产99视频精品免费专区 I 欧美影院 I 欧美精品在欧美一区二区少妇 I av大片网站 I 国产精品黄色片 I 888久久 I 狠狠干最新 I 看看黄色一级片 I 黄色精品久久 I 三级av在线 I 69色综合 I 国产日韩欧美91 I 亚洲精品偷拍 I 激情小说亚洲图片 I 久久国产视频精品 I 国产综合精品一区二区三区 I 色婷婷国产 I 最新成人av在线 I 国产私拍精品 I 日韩成人影音 I 日日夜夜天天综合

小結(jié)Python用fork來創(chuàng)建子進(jìn)程注意事項(xiàng)

系統(tǒng) 2391 0

自己隨手寫了Python下 fork 進(jìn)程的測試代碼(來說明這個問題不一定完全合適):

            
def fork(a):
 def now():
  import datetime
  return datetime.datetime.now().strftime("%S.%f")
 import os
 import time
 print now(), a
 if os.fork() == 0:
  print '子進(jìn)程[%s]:%s' % (now(), os.getpid())
  while 1:
   a-=10
   print '子進(jìn)程的a值[%s]:%s' % (now(), a)
   if a < 1:
    break
  print '準(zhǔn)備退出子進(jìn)程'
  #os._exit(0) ## 你可以在這里退出子進(jìn)程
 else:
  print '父進(jìn)程[%s]:%s' % (now(), os.getpid())
  while 1:
   a-=1
   print '父進(jìn)程的a值[%s]:%s' % (now(), a)
   if a < 0:
    break
  time.sleep(1)
  print '等待子進(jìn)程結(jié)束...'
  try:
   result = os.wait()
   if result:
    print '子進(jìn)程:', result[0], result[1]
   else:
    print '沒有數(shù)據(jù)!'
  except:
   print '異常哦...'
  print '父進(jìn)程...'
 print '最后的值:',a
 #exit(0) ## 你也可以在這里退出,注意,這里是父進(jìn)程和子進(jìn)程都共用的地方,在這里退出會導(dǎo)致父進(jìn)程也一并退出

          

TIPS:

os.fork() 會有兩次返回值,分別是父進(jìn)程和子進(jìn)程的返回值
在父進(jìn)程中,fork返回的值是子進(jìn)程的PID;
子進(jìn)程中,這個返回值為0
子進(jìn)程會復(fù)制父進(jìn)程的上下文
父子進(jìn)程并不能確定執(zhí)行順序
os.fork() 之后,子進(jìn)程一定要使用 exit() 或者 os._exit() 來退出子進(jìn)程環(huán)境,建議使用 os._exit()
os.fork() 來創(chuàng)建子進(jìn)程的這個代碼并不是很通適,Linux是沒問題的,在Windows下就是不能用的,而官方文檔也有類似表述:

            
Note that some platforms including FreeBSD <= 6.3, Cygwin and OS/2 EMX have known issues when using fork() from a thread
Availability: Unix.

          


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯(lián)系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長非常感激您!手機(jī)微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發(fā)表我的評論
最新評論 總共0條評論