成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

python 多線程和多進程

APICloud / 2649人閱讀

摘要:總的來說是對補救多線程在多核操作系統(tǒng)中的一副良藥。更多的推薦大家使用模塊。假定這是你的銀行存款先存后取,結(jié)果應(yīng)該為運行的結(jié)果是預(yù)想的另外再服務(wù)器中會大量使用多進程的方式,,等

官方文檔:multiprocessing is a package that supports spawning processes using an API similar to the threading module. The multiprocessing package offers both local and remote concurrency, effectively side-stepping the Global Interpreter Lock by using subprocesses instead of threads。

總的來說是對補救Python多線程在多核操作系統(tǒng)中的一副良藥。更多的推薦大家使用multiprocessing 模塊。

一些簡單使用技巧見介紹

http://blog.csdn.net/dutsoft/...

廖雪峰python教程之多進程
其中最大的區(qū)別在于 多線程和多進程最大的不同在于,多進程中,同一個變量,各自有一份拷貝存在于每個進程中,互不影響,而多線程中,所有變量都由所有線程共享

運行環(huán)境 Python2.7 ,windows

import time, threading

# 假定這是你的銀行存款:
balance = 0

def change_it(n):
    # 先存后取,結(jié)果應(yīng)該為0:
    global balance
    balance = balance + n
    balance = balance - n

def run_thread(n):
    for i in range(100000):
        change_it(n)

t1 = threading.Thread(target=run_thread, args=(5,))
t2 = threading.Thread(target=run_thread, args=(8,))
t1.start()
t2.start()
t1.join()
t2.join()
print(balance)

運行的結(jié)果會是一個隨機數(shù),就是因為Python的多線程是不安全的,線程之間的調(diào)度會影響到其他線程的結(jié)果。

#coding=utf-8
import time, threading
lock = threading.Lock()
# 假定這是你的銀行存款:
balance = 0

def change_it(n):
    # 先存后取,結(jié)果應(yīng)該為0:
    global balance
    balance = balance + n
    balance = balance - n

def run_thread(n):
    for i in range(100000):
        lock.acquire()
        try:
            change_it(n)
        finally:
            lock.release()

t1 = threading.Thread(target=run_thread, args=(5,))
t2 = threading.Thread(target=run_thread, args=(8,))
t1.start()
t2.start()
t1.join()
t2.join()
print(balance)

運行的結(jié)果是預(yù)想的0

另外再web服務(wù)器中會大量使用多進程的方式,gunicorn,uwsgi等

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/41247.html

相關(guān)文章

  • Python中單線程、線程進程的效率對比實驗

    摘要:中單線程多線程與多進程的效率對比實驗多線程多進程中多線程和多進程的對比是運行在解釋器中的語言,查找資料知道,中有一個全局鎖,在使用多進程的情況下,不能發(fā)揮多核的優(yōu)勢。 title: Python中單線程、多線程與多進程的效率對比實驗date: 2016-09-30 07:05:47tags: [多線程,多進程,Python]categories: [Python] meta: Pyt...

    niceforbear 評論0 收藏0
  • python大佬養(yǎng)成計劃----進程、線程進程

    摘要:在一個進程內(nèi)部,要同時干多件事,就需要同時運行多個子任務(wù),我們把進程內(nèi)的這些子任務(wù)稱為線程??偨Y(jié)一下,多任務(wù)的實現(xiàn)方式有三種多進程模式多線程模式多進程多線程模式線程是最小的執(zhí)行單元,而進程由至少一個線程組成。 進程與線程 很多同學(xué)都聽說過,現(xiàn)代操作系統(tǒng)比如Mac OS X,UNIX,Linux,Windows等,都是支持多任務(wù)的操作系統(tǒng)。 什么叫多任務(wù)呢?簡單地說,就是操作系統(tǒng)可以同時...

    taowen 評論0 收藏0
  • Python基礎(chǔ)之使用期物處理并發(fā)

    摘要:本文重點掌握異步編程的相關(guān)概念了解期物的概念意義和使用方法了解中的阻塞型函數(shù)釋放的特點。一異步編程相關(guān)概念阻塞程序未得到所需計算資源時被掛起的狀態(tài)。 導(dǎo)語:本文章記錄了本人在學(xué)習(xí)Python基礎(chǔ)之控制流程篇的重點知識及個人心得,打算入門Python的朋友們可以來一起學(xué)習(xí)并交流。 本文重點: 1、掌握異步編程的相關(guān)概念;2、了解期物future的概念、意義和使用方法;3、了解Python...

    asoren 評論0 收藏0
  • python基礎(chǔ)教程:異步IO 之 概念和歷史

    摘要:并發(fā)的方式有多種,多線程,多進程,異步等。多線程和多進程之間的場景切換和通訊代價很高,不適合密集型的場景關(guān)于多線程和多進程的特點已經(jīng)超出本文討論的范疇,有興趣的同學(xué)可以自行搜索深入理解。 編程中,我們經(jīng)常會遇到并發(fā)這個概念,目的是讓軟件能充分利用硬件資源,提高性能。并發(fā)的方式有多種,多線程,多進程,異步IO等。多線程和多進程更多應(yīng)用于CPU密集型的場景,比如科學(xué)計算的時間都耗費在CPU...

    BicycleWarrior 評論0 收藏0
  • Python

    摘要:最近看前端都展開了幾場而我大知乎最熱語言還沒有相關(guān)。有關(guān)書籍的介紹,大部分截取自是官方介紹。但從開始,標(biāo)準庫為我們提供了模塊,它提供了和兩個類,實現(xiàn)了對和的進一步抽象,對編寫線程池進程池提供了直接的支持。 《流暢的python》閱讀筆記 《流暢的python》是一本適合python進階的書, 里面介紹的基本都是高級的python用法. 對于初學(xué)python的人來說, 基礎(chǔ)大概也就夠用了...

    dailybird 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<