日韩久久久精品,亚洲精品久久久久久久久久久,亚洲欧美一区二区三区国产精品 ,一区二区福利

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

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

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

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

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

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


def main():
    print('開始下載。。。')
    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é)束,總用時{end_time-start_time}s')

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

  1. 多進(jìn)程的內(nèi)存空間是獨(dú)立的不能使用普通的全局變量來傳遞信號
  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號聯(lián)系: 360901061

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

【本文對您有幫助就好】

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

發(fā)表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 仁化县| 长春市| 都江堰市| 大厂| 仙游县| 安丘市| 高阳县| 长子县| 旅游| 综艺| 皮山县| 金塔县| 蓬安县| 平阳县| 木里| 昌乐县| 新化县| 肇东市| 江口县| 锦屏县| 博野县| 密山市| 高尔夫| 宁都县| 宜宾县| 商南县| 安图县| 自治县| 巴马| 静海县| 和田市| 堆龙德庆县| 石林| 阿鲁科尔沁旗| 禄劝| 弥勒县| 淅川县| 邛崃市| 高平市| 伽师县| 岳西县|