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

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

 更新時(shí)間:2019年09月27日 11:25:05   作者:DRQ丶  
這篇文章主要介紹了python線程安全及多進(jìn)程多線程實(shí)現(xiàn)方法詳解,文中通過示例代碼介紹的非常詳細(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í)行的。
  • 一般涉及到寫操作需要考慮如何讓多個(gè)線程安全訪問數(shù)據(jù)。

線程同步的方式

  • 互斥量(鎖): 通過互斥機(jī)制防止多個(gè)線程同時(shí)訪問公共資源。
  • 信號(hào)量(Semphare): 控制同一時(shí)刻多個(gè)線程訪問同一個(gè)資源的線程數(shù)。 ps:python的threading 文檔
  • 事件(信號(hào)): 通過通知的方式保持多個(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 = [] # 用來儲(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 類實(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)流程,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(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ì)大家有所幫助。一起跟隨小編過來看看吧
    2020-01-01
  • Python日志器使用方法及原理解析

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

    這篇文章主要介紹了Python日志器使用方法及原理解析,文中通過示例代碼介紹的非常詳細(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爬蟲框架使用示例淺析

    Python Scrapy爬蟲框架使用示例淺析

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

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

    這篇文章主要介紹了Python開發(fā)網(wǎng)站目錄掃描器的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(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īng)用,再到如何通過Python與Prometheus?API進(jìn)行無縫交互,通過豐富的示例代碼和詳細(xì)的講解,將解鎖使用Python進(jìn)行實(shí)時(shí)監(jiān)控的奇妙世界,為讀者打開更廣闊的數(shù)據(jù)分析視野
    2024-01-01
  • python寫入文件如何取消自動(dòng)換行

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

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

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

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

最新評(píng)論

女性| 莲花县| 攀枝花市| 永善县| 大厂| 乌兰察布市| 乡宁县| 长宁区| 迁西县| 东乡族自治县| 曲阜市| 富顺县| 孝昌县| 长丰县| 喀喇沁旗| 定日县| 信丰县| 车险| 新晃| 五莲县| 凉城县| 弥勒县| 盐津县| 成武县| 峨边| 武宁县| 永平县| 宁德市| 靖边县| 徐州市| 安化县| 家居| 临桂县| 关岭| 阜阳市| 清镇市| 吴桥县| 古田县| 罗田县| 射洪县| 华池县|