亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Python的子線程和子進(jìn)程是如何手動結(jié)束的?

 更新時間:2021年06月24日 11:14:20   作者:l198738655  
今天給大家?guī)淼氖顷P(guān)于Python的相關(guān)知識,文章圍繞著如何手動結(jié)束Python的子線程和子進(jìn)程展開,文中有非常詳細(xì)的介紹及代碼示例,需要的朋友可以參考下

如何結(jié)束Python的子線程和子進(jìn)程

結(jié)束子線程的方法:

這個是搬運其他大神的代碼,鄙人也不知道原理,反正拿來主義,暫時沒發(fā)現(xiàn)什么缺點,先用著再說。

import inspect
import ctypes
import threading
from time import sleep
 
 
def serial_read():
 
    while True:
 
        print("春哥純爺們!")
 
        sleep(1)
 
 
 
def _async_raise(tid, exctype):
    """raises the exception, performs cleanup if needed"""
    tid = ctypes.c_long(tid)
    if not inspect.isclass(exctype):
        exctype = type(exctype)
    res = ctypes.pythonapi.PyThreadState_SetAsyncExc(tid, ctypes.py_object(exctype))
    if res == 0:
        raise ValueError("invalid thread id")
    elif res != 1:
        # """if it returns a number greater than one, you're in trouble,
        # and you should call it again with exc=NULL to revert the effect"""
        ctypes.pythonapi.PyThreadState_SetAsyncExc(tid, None)
        raise SystemError("PyThreadState_SetAsyncExc failed")
 
 
def stop_thread(thread):
    _async_raise(thread.ident, SystemExit)
 
 
def Air():
 
    ords=0
 
    myThread = threading.Thread(target=serial_read)
 
    myThread.start()
 
    while True:
 
 
        ords+=1
 
        if ords==10:
 
            stop_thread(myThread)
            print("停止子線程")
            break
 
 
        sleep(1)
 
 
if __name__ == '__main__':
 
    Air()

下面是結(jié)束子進(jìn)程的方法:

import inspect
import ctypes
from time import sleep
from multiprocessing import Process
 
 
def serial_read():
 
    while True:
 
        print("春哥純爺們!")
 
        sleep(1)
 
 
def Air():
 
    ords=0
 
    myThread = Process(target=serial_read)
 
    myThread.start()
 
    while True:
 
 
        ords+=1
 
        if ords==10:
 
            myThread.terminate()
            print("停止子進(jìn)程")
            break
 
 
        sleep(1)
 
 
if __name__ == '__main__':
 
    Air()

這里說一下如果用類的話要如何寫,想結(jié)束子進(jìn)程或者子線程就需要拿到進(jìn)程對象或者線程對象,但是類中沒辦法實現(xiàn)創(chuàng)建一個類屬性的方式然后用self.×××的方式來在其他類方法中調(diào)用,這時候就創(chuàng)建一個類屬性list,然后創(chuàng)建好子進(jìn)程或者子線程后把對象賦值給這個list,再在類的其他方法中調(diào)用這個list中的元素,就拿到了子進(jìn)程或者子線程的對象了。

例如:

def startss(self,a1,b1,c1,under,rough,blue,among):
 
        # 創(chuàng)建新線程
        p1=threading.Thread(target=self.line01,args=(a1,b1,under,rough,)) #必須加,號 
        p2=threading.Thread(target=self.line02,args=(a1,c1,under,blue,))
        p3=Process(target=self.Process01,args=(under,rough,blue,)) #計算進(jìn)程
 
        #among是類屬性list容器
 
        among.append(p1)
        among.append(p2)
        among.append(p3)
 
        # 開啟新線程
        p1.start()
        p2.start()
 
        #開啟計算用進(jìn)程
        p3.start()

參考資料:http://chabaoo.cn/article/185867.htm

python 多進(jìn)程如何終止或重啟子進(jìn)程

到此這篇關(guān)于Python的子線程和子進(jìn)程是如何手動結(jié)束的?的文章就介紹到這了,更多相關(guān)Python的子線程和子進(jìn)程內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Python爬蟲獲取基金列表

    Python爬蟲獲取基金列表

    這篇文章主要介紹了Python爬蟲獲取基金列表,python爬蟲用來收集數(shù)據(jù)是最直接和常用的方法,可以使用python爬蟲程序獲得大量的數(shù)據(jù),下文更多相關(guān)內(nèi)容介紹,需要的小伙伴可以參考一下
    2022-05-05
  • Python實現(xiàn)兩個list求交集,并集,差集的方法示例

    Python實現(xiàn)兩個list求交集,并集,差集的方法示例

    這篇文章主要介紹了Python實現(xiàn)兩個list求交集,并集,差集的方法,結(jié)合實例形式分析了Python使用intersection、union及difference方法實現(xiàn)兩個集合list的交集、并集與差集操作技巧,需要的朋友可以參考下
    2018-08-08
  • pymilvus?offset參數(shù)不生效解決示例

    pymilvus?offset參數(shù)不生效解決示例

    這篇文章主要為大家介紹了pymilvus?offset參數(shù)不生效解決示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-09-09
  • Python使用conda如何安裝requirement.txt的擴(kuò)展包

    Python使用conda如何安裝requirement.txt的擴(kuò)展包

    這篇文章主要介紹了Python使用conda如何安裝requirement.txt的擴(kuò)展包問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-02-02
  • Python爬蟲模擬登錄帶驗證碼網(wǎng)站

    Python爬蟲模擬登錄帶驗證碼網(wǎng)站

    這篇文章主要介紹了Python爬蟲模擬登錄帶驗證碼網(wǎng)站的相關(guān)資料,需要的朋友可以參考下
    2016-01-01
  • 關(guān)于Qt6中QtMultimedia多媒體模塊的重大改變分析

    關(guān)于Qt6中QtMultimedia多媒體模塊的重大改變分析

    如果您一直在 Qt 5 中使用 Qt Multimedia,則需要對您的實現(xiàn)進(jìn)行更改。這篇博文將嘗試引導(dǎo)您完成最大的變化,同時查看 API 和內(nèi)部結(jié)構(gòu)
    2021-09-09
  • Python基于xlrd模塊處理合并單元格

    Python基于xlrd模塊處理合并單元格

    這篇文章主要介紹了Python基于xlrd模塊處理合并單元格,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-07-07
  • Pycharm連接遠(yuǎn)程服務(wù)器并實現(xiàn)遠(yuǎn)程調(diào)試的實現(xiàn)

    Pycharm連接遠(yuǎn)程服務(wù)器并實現(xiàn)遠(yuǎn)程調(diào)試的實現(xiàn)

    這篇文章主要介紹了Pycharm連接遠(yuǎn)程服務(wù)器并實現(xiàn)遠(yuǎn)程調(diào)試的實現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-08-08
  • Python if語句知識點用法總結(jié)

    Python if語句知識點用法總結(jié)

    本篇文章給python初學(xué)者總結(jié)了關(guān)于Python之if語句的相關(guān)用法以及知識點總結(jié),跟著學(xué)習(xí)下吧。
    2018-06-06
  • 詳解Python如何實現(xiàn)批量為PDF添加水印

    詳解Python如何實現(xiàn)批量為PDF添加水印

    我們有時候需要把一些機(jī)密文件發(fā)給多個客戶,為了避免客戶泄露文件,會在機(jī)密文件中添加水印。本文將利用Python實現(xiàn)批量為PDF添加水印,需要的可以參考一下
    2022-05-05

最新評論