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

python線程安全及多進(jìn)程多線程實(shí)現(xiàn)方法詳解

 更新時(shí)間:2019年09月27日 11:25:05   作者:DRQ丶  
這篇文章主要介紹了python線程安全及多進(jìn)程多線程實(shí)現(xiàn)方法詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下

進(jìn)程和線程的區(qū)別

  • 進(jìn)程是對(duì)運(yùn)行時(shí)程序的封裝,是系統(tǒng)資源調(diào)度和分配的基本單位
  • 線程是進(jìn)程的子任務(wù),cpu調(diào)度和分配的基本單位,實(shí)現(xiàn)進(jìn)程內(nèi)并發(fā)。
  • 一個(gè)進(jìn)程可以包含多個(gè)線程,線程依賴進(jìn)程存在,并共享進(jìn)程內(nèi)存

什么是線程安全

一個(gè)線程的修改被另一個(gè)線程的修改覆蓋掉。

python中哪些操作是線程安全的

  • 一個(gè)操作可以在多線程環(huán)境中使用,并且獲得正確的結(jié)果。
  • 線程安全的操作線程是順序執(zhí)行的而不是并發(fā)執(zhí)行的。
  • 一般涉及到寫(xiě)操作需要考慮如何讓多個(gè)線程安全訪問(wèn)數(shù)據(jù)。

線程同步的方式

  • 互斥量(鎖): 通過(guò)互斥機(jī)制防止多個(gè)線程同時(shí)訪問(wèn)公共資源。
  • 信號(hào)量(Semphare): 控制同一時(shí)刻多個(gè)線程訪問(wèn)同一個(gè)資源的線程數(shù)。 ps:python的threading 文檔
  • 事件(信號(hào)): 通過(guò)通知的方式保持多個(gè)線程的同步。

進(jìn)程間的通信方式 (IPC:Inter-Process Communication 進(jìn)程間傳遞信號(hào)或者數(shù)據(jù))

  • 管道/匿名管道/有名管道(pipe)
  • 信號(hào)(Signal):比如用戶使用ctrl+c產(chǎn)生SIGINT程序終止信號(hào)
  • 消息隊(duì)列(Message)
  • 共享內(nèi)存(share memory)
  • 進(jìn)程間的信號(hào)量(Semaphore)
  • 套接字(socket):最常用的方式,我們的web應(yīng)用就是這種方式

多線程的例子

# python實(shí)現(xiàn)多線程
import threading

lock = threading.Lock()

n = [0]

def foo():
  with lock:  # 加鎖
    n[0] = n[0] + 1
    n[0] = n[0] + 1


threads = [] # 用來(lái)儲(chǔ)存所有線程
for i in range(5000):
  t = threading.Thread(target=foo)  # 傳入foo函數(shù)
  threads.append(t)
for t in threads:
  t.start()

print(n)

多進(jìn)程的例子

python有GIL,可以用多進(jìn)程實(shí)現(xiàn)cpu密集程序

  • multiprocessing 多進(jìn)程模塊
  • multiprocessing.Process 類(lèi)實(shí)現(xiàn)多進(jìn)程
  • 一般在cpu密集的程序里面使用多進(jìn)程,避免GIL的影響
# 多進(jìn)程

import multiprocessing

def fib(n):
  if n<= 1:
    return 1
  return fib(n-1) + fib(n-2)



if __name__ == '__main__':
  jobs = []
  for i in range(10,20):
    p = multiprocessing.Process(target=fib, args=(i,))
    jobs.append(p)
    p.start()

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • python繪圖demo實(shí)現(xiàn)流程介紹

    python繪圖demo實(shí)現(xiàn)流程介紹

    這篇文章主要介紹了python繪圖demo實(shí)現(xiàn)流程,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)吧
    2022-11-11
  • 計(jì)算pytorch標(biāo)準(zhǔn)化(Normalize)所需要數(shù)據(jù)集的均值和方差實(shí)例

    計(jì)算pytorch標(biāo)準(zhǔn)化(Normalize)所需要數(shù)據(jù)集的均值和方差實(shí)例

    今天小編就為大家分享一篇計(jì)算pytorch標(biāo)準(zhǔn)化(Normalize)所需要數(shù)據(jù)集的均值和方差實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-01-01
  • Python日志器使用方法及原理解析

    Python日志器使用方法及原理解析

    這篇文章主要介紹了Python日志器使用方法及原理解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-09-09
  • Python實(shí)現(xiàn)遍歷大量表格文件并篩選出數(shù)據(jù)缺失率低的文件

    Python實(shí)現(xiàn)遍歷大量表格文件并篩選出數(shù)據(jù)缺失率低的文件

    這篇文章主要為大家詳細(xì)介紹了如何利用Python實(shí)現(xiàn)遍歷大量表格文件并篩選出表格內(nèi)數(shù)據(jù)缺失率低的文件的功能,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2023-05-05
  • Python Scrapy爬蟲(chóng)框架使用示例淺析

    Python Scrapy爬蟲(chóng)框架使用示例淺析

    Scrapy爬蟲(chóng)框架可以實(shí)現(xiàn)多線程爬取目標(biāo)內(nèi)容,簡(jiǎn)化代碼邏輯,提高開(kāi)發(fā)效率,這篇文章主要介紹了Python Scrapy爬蟲(chóng)框架的使用示例,感興趣想要詳細(xì)了解可以參考下文
    2023-05-05
  • Python開(kāi)發(fā)網(wǎng)站目錄掃描器的實(shí)現(xiàn)

    Python開(kāi)發(fā)網(wǎng)站目錄掃描器的實(shí)現(xiàn)

    這篇文章主要介紹了Python開(kāi)發(fā)網(wǎng)站目錄掃描器的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-02-02
  • Python MySQLdb Linux下安裝筆記

    Python MySQLdb Linux下安裝筆記

    這篇文章主要介紹了Python MySQLdb Linux下安裝筆記,本文分別講解了快速安裝和手動(dòng)編譯安裝兩種方法,并分別講解了操作步驟,需要的朋友可以參考下
    2015-05-05
  • Python?Prometheus接口揭秘?cái)?shù)據(jù)科學(xué)新技巧

    Python?Prometheus接口揭秘?cái)?shù)據(jù)科學(xué)新技巧

    本篇文章將分享Prometheus?API的基本概念到PromQL查詢語(yǔ)言的應(yīng)用,再到如何通過(guò)Python與Prometheus?API進(jìn)行無(wú)縫交互,通過(guò)豐富的示例代碼和詳細(xì)的講解,將解鎖使用Python進(jìn)行實(shí)時(shí)監(jiān)控的奇妙世界,為讀者打開(kāi)更廣闊的數(shù)據(jù)分析視野
    2024-01-01
  • python寫(xiě)入文件如何取消自動(dòng)換行

    python寫(xiě)入文件如何取消自動(dòng)換行

    這篇文章主要介紹了python寫(xiě)入文件如何取消自動(dòng)換行問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-05-05
  • Python爬蟲(chóng)實(shí)例之2021貓眼票房字體加密反爬策略(粗略版)

    Python爬蟲(chóng)實(shí)例之2021貓眼票房字體加密反爬策略(粗略版)

    這篇文章主要介紹了Python爬蟲(chóng)實(shí)例之2021貓眼票房字體加密反爬策略(粗略版),本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-02-02

最新評(píng)論

桑植县| 东光县| 湖北省| 射阳县| 中方县| 固始县| 汝州市| 偃师市| 岢岚县| 五台县| 霍山县| 买车| 鹤庆县| 吴旗县| 永福县| 三明市| 宁武县| 乐山市| 松溪县| 鸡西市| 炉霍县| 潜江市| 凌海市| 连州市| 瑞安市| 舟曲县| 济源市| 陕西省| 万全县| 利津县| 镇巴县| 漳平市| 西华县| 金川县| 道真| 咸宁市| 大英县| 姚安县| 时尚| 永丰县| 封开县|