最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python守護進程實現(xiàn)過程詳解

 更新時間:2020年02月10日 14:11:21   作者:xushukui  
這篇文章主要介紹了Python守護進程實現(xiàn)過程詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下

這篇文章主要介紹了Python守護進程實現(xiàn)過程詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下

如果你設置一個線程為守護線程,就表示你在說這個線程是不重要的,在進程退出的時候,不用等待這個線程退出。如果你的主線程在退出的時候,不用等待那些子線程完成,那就設置這些線程的daemon屬性。即在線程開始(thread.start())之前,調用setDeamon()函數(shù),設定線程的daemon標志。(thread.setDaemon(True))就表示這個線程“不重要”。

如果你想等待子線程完成再退出,那就什么都不用做,或者顯示地調用thread.setDaemon(False),設置daemon的值為false。新的子線程會繼承父線程的daemon標志。整個Python會在所有的非守護線程退出后才會結束,即進程中沒有非守護線程存在的時候才結束。

看下面的例子:

import time
import threading


def fun():
  print "start fun"
  time.sleep(2)
  print "end fun"
print "main thread"
t1 = threading.Thread(target=fun,args=())
#t1.setDaemon(True)
t1.start()
time.sleep(1)
print "main thread end"

結果:

main thread
start fun
main thread end
end fun

結論:程序在等待子線程結束,才退出了。

設置:setDaemon 為True

import time
import threading
def fun():
  print "start fun"
  time.sleep(2)
  print "end fun"

print "main thread"
t1 = threading.Thread(target=fun,args=())

t1.setDaemon(True)

t1.start()
time.sleep(1)
print "main thread end"

結果:

main thread
start fun
main thread end

結論:程序在主線程結束后,直接退出了。 導致子線程沒有運行完。

守護進程可以通過調用isAlive(), 來監(jiān)視其他線程是否是存活的。

如果死掉的話就重新建立一個工作線程,啟動起來(這里要注意不能使用原來的線程讓它start(),因為這個線程已經(jīng)結束了,內存中的實例已經(jīng)釋放掉了,所以使用這個方法會報錯)。

#coding=utf-8
import time
from threading import Thread
 
 
class ticker(Thread):
  def run(self):
    while True:
      print time.time()
      if (time.time() > 1470883000):
        break
        pass
      time.sleep(3)     
      pass
    pass
 
class moniter(Thread):
  def run(self):
    while True:
      global T
      if (T.isAlive()):
        print 't is alive'
      else :
        print 't is dead'
        T = ticker()
        T.start()
      print 'checking '
      time.sleep(5)
      pass
    pass
T = ticker()
T.start()
 
mo = moniter()
mo.start()

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關文章

  • PyTorch使用GPU加速計算的實現(xiàn)

    PyTorch使用GPU加速計算的實現(xiàn)

    PyTorch利用NVIDIA CUDA庫提供的底層接口來實現(xiàn)GPU加速計算,本文就來介紹一下PyTorch使用GPU加速計算的實現(xiàn),具有一定的參考價值,感興趣的可以了解一下
    2024-02-02
  • Python代碼調試Debug的實用技巧分享

    Python代碼調試Debug的實用技巧分享

    我們日常寫代碼過程中,難免會寫出各類錯誤,這些錯誤可能是語法錯誤、邏輯錯誤或運行時錯誤,所以本文為大家分享了一些Python調試Debug的技巧,感興趣的可以了解下
    2024-11-11
  • PyTorch中torch.matmul()函數(shù)常見用法總結

    PyTorch中torch.matmul()函數(shù)常見用法總結

    torch.matmul()也是一種類似于矩陣相乘操作的tensor連乘操作。但是它可以利用python中的廣播機制,處理一些維度不同的tensor結構進行相乘操作,這篇文章主要介紹了PyTorch中torch.matmul()函數(shù)用法總結,需要的朋友可以參考下
    2023-04-04
  • Python PaddlePaddle機器學習之求解線性模型

    Python PaddlePaddle機器學習之求解線性模型

    這篇文章主要介紹了Python PaddlePaddle機器學習之求解線性模型,文章圍繞主題展開詳細的內容介紹,具有一定參考價值,需要的小伙伴可以參考一下
    2022-08-08
  • 解讀opencv中cv2.imread()返回值為None問題及解決

    解讀opencv中cv2.imread()返回值為None問題及解決

    這篇文章主要介紹了解讀opencv中cv2.imread()返回值為None問題及解決,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-11-11
  • Python SQLAlchemy基本操作和常用技巧(包含大量實例,非常好)

    Python SQLAlchemy基本操作和常用技巧(包含大量實例,非常好)

    這篇文章主要介紹了Python的ORM框架SQLAlchemy基本操作和常用技巧,包含大量實例,非常好的一個學習SQLAlchemy的教程,需要的朋友可以參考下
    2014-05-05
  • 用python實現(xiàn)一個讓人戒不掉的百變款消消樂

    用python實現(xiàn)一個讓人戒不掉的百變款消消樂

    消消樂的熱門程度幾乎趕上王者榮耀,你是否也有收到過好友邀請你幫解鎖關卡的時候,今天小編帶你用python編寫一個自己的消消樂升級版,同學請往下看
    2021-09-09
  • Python編程二分法實現(xiàn)冒泡算法+快速排序代碼示例

    Python編程二分法實現(xiàn)冒泡算法+快速排序代碼示例

    這篇文章主要介紹了Python編程二分法實現(xiàn)冒泡算法+快速排序代碼示例,具有一定借鑒價值,需要的朋友可以參考下
    2018-01-01
  • 關于python安裝第三方庫的問題與解決方案

    關于python安裝第三方庫的問題與解決方案

    Python開發(fā)中經(jīng)常遇到第三方庫安裝困難的問題,速度慢可以使用國內鏡像如清華鏡像加速,若遇到wheel錯誤,可以手動下載whl文件進行安裝,對于找不到的包,可以嘗試在Python的官方包發(fā)布網(wǎng)站上進行搜索和下載,本文提供了具體的解決方案和操作步驟
    2024-10-10
  • python?logging模塊的分文件存放詳析

    python?logging模塊的分文件存放詳析

    這篇文章主要介紹了python?logging模塊的分文件存放詳析,文章圍繞主題展開詳細的內容介紹,具有一定的參考價值,需要的朋友可以參考一下
    2022-07-07

最新評論

许昌县| 西乡县| 霸州市| 册亨县| 河西区| 全州县| 耿马| 荆门市| 水富县| 积石山| 衡东县| 合山市| 昌都县| 娄烦县| 民和| 基隆市| 新平| 台东市| 屏东市| 尼木县| 永兴县| 晋江市| 呼伦贝尔市| 铁力市| 天祝| 易门县| 宁陵县| 滕州市| 莱芜市| 乾安县| 永宁县| 江川县| 明光市| 拜城县| 颍上县| 察雅县| 东乡县| 囊谦县| 阜宁县| 蓬安县| 阿克|