黄色网页视频 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 日日夜夜天天综合

python求職準(zhǔn)備第1天—進(jìn)程

系統(tǒng) 1887 0
  • ? 進(jìn)程是操作系統(tǒng)分配內(nèi)存的最小單位

  • ? Python中進(jìn)程用到的庫(kù) multiprocessing

  • ? 簡(jiǎn)單的多進(jìn)程示例

            
              from multiprocessing import Process
from time import time,sleep
from random import randint

def download_task(task_name):
    print(task_name+'開(kāi)始下載')
    time =randint(1,5)
    sleep(time)
    print(task_name+f'下載結(jié)束,用時(shí){time}s')


def main():
    print('開(kāi)始下載。。。')
    start_time = time()
    p1 = Process(target=download_task,args=('task_1',))
    p1.start()

    p2 = Process(target=download_task,args=('task_2',))
    p2.start()

    p1.join()
    p2.join()

    end_time = time()

    print(f'下載結(jié)束,總用時(shí){end_time-start_time}s')

if __name__ == '__main__':
    main()
            
          
  • ?進(jìn)程間的通信

  1. 多進(jìn)程的內(nèi)存空間是獨(dú)立的不能使用普通的全局變量來(lái)傳遞信號(hào)
  2. 可以使用multiprocessing 中的?Queue、Pipe、Manager、Event
  3. 今天只復(fù)習(xí)queue和pipe
  4. Queue 實(shí)現(xiàn)進(jìn)程間通信示例如下:要注意的是:Queue 是為進(jìn)程服務(wù)的而 queue中的Queue 是為線程服務(wù)的
                    
                      from multiprocessing import Process,Queue,current_process
    
    def add_task(q):
        print(f'子進(jìn)程{current_process().pid}操作')
    
        q.put('python')
    
    def main():
    
        #創(chuàng)建進(jìn)程通信的 Queue
        q = Queue()
    
        #創(chuàng)建子進(jìn)程
        p = Process(target=add_task,args=(q,))
    
        p.start()
    
        print(f'父進(jìn)程{current_process().pid}讀取')
    
        print(q.get())
    
        p.join()
    
    if __name__ == '__main__':
        main()
                    
                  

    ?

  5. Pipe 實(shí)現(xiàn)進(jìn)程間通信,示例如下:

            
              from multiprocessing import Process,Pipe,current_process


def add_task(p_b):
    print(f"進(jìn)程 {current_process().pid} 寫入")
    p_b.send("python")

def main():

    #創(chuàng)建管道 ,返回管道兩端
    p_a ,p_b= Pipe()

    p =Process(target=add_task,args=(p_b,))

    p.start()
    print(f"進(jìn)程 {current_process().pid} 讀取")
    print(p_a.recv())

    p.join()


if __name__ == '__main__':
    main()


            
          

好了 進(jìn)程今天就復(fù)習(xí)到這兒。明晚復(fù)習(xí)線程。。。

?

?

加油!


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

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號(hào)聯(lián)系: 360901061

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

【本文對(duì)您有幫助就好】

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

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