欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Golang與python線程詳解及簡單實(shí)例

 更新時(shí)間:2017年04月27日 14:31:26   投稿:lqh  
這篇文章主要介紹了Golang與python線程詳解及簡單實(shí)例的相關(guān)資料,需要的朋友可以參考下

Golang與python線程詳解及簡單實(shí)例

在GO中,開啟15個(gè)線程,每個(gè)線程把全局變量遍歷增加100000次,因此預(yù)測結(jié)果是 15*100000=1500000.

var sum int
var cccc int
var m *sync.Mutex

func Count1(i int, ch chan int) {
  for j := 0; j < 100000; j++ {
   cccc = cccc + 1
  }
  ch <- cccc
}
func main() {
  m = new(sync.Mutex)
  ch := make(chan int, 15)
  for i := 0; i < 15; i++ {
   go Count1(i, ch)
  }
  for i := 0; i < 15; i++ {
   select {
   case msg := <-ch:
     fmt.Println(msg)
   }
  }
}

但是最終的結(jié)果,406527

說明需要加鎖。

func Count1(i int, ch chan int) {
  m.Lock()
  for j := 0; j < 100000; j++ {
   cccc = cccc + 1
  }
  ch <- cccc
  m.Unlock()
}

最終輸出:1500000

python中:同樣方式實(shí)現(xiàn),也不行。

count = 0
def sumCount(temp):
  global count
  for i in range(temp):
    count = count + 1
li = []
for i in range(15):
  th = threading.Thread(target=sumCount, args=(1000000,))
  th.start()
  li.append(th)
for i in li:
  i.join()
print(count)

輸出結(jié)果:3004737

說明也需要加鎖:

mutex = threading.Lock()
count = 0
def sumCount(temp):
  global count
  mutex.acquire()
  for i in range(temp):
    count = count + 1
  mutex.release()
li = []
for i in range(15):
  th = threading.Thread(target=sumCount, args=(1000000,))
  th.start()
  li.append(th)
for i in li:
  i.join()
print(count)

輸出1500000

OK,加鎖的小列子。

感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!

相關(guān)文章

  • Python代理抓取并驗(yàn)證使用多線程實(shí)現(xiàn)

    Python代理抓取并驗(yàn)證使用多線程實(shí)現(xiàn)

    這里沒有使用隊(duì)列只是采用多線程分發(fā)對代理量不大的網(wǎng)頁還行但是幾百幾千性能就很差了,感興趣的朋友可以了解下,希望對你有所幫助
    2013-05-05
  • 基于python的matplotlib制作雙Y軸圖

    基于python的matplotlib制作雙Y軸圖

    這篇文章主要介紹了基于python的matplotlib制作雙Y軸圖,文中有非常詳細(xì)的代碼示例,對正在學(xué)習(xí)python的小伙伴們有很好地幫助,需要的朋友可以參考下
    2021-04-04
  • 詳解python?sklearn中的數(shù)據(jù)預(yù)處理方法

    詳解python?sklearn中的數(shù)據(jù)預(yù)處理方法

    本篇文章主要講解Python的sklearn庫中常用的數(shù)據(jù)預(yù)處理方法,主要介紹工具中的內(nèi)容,即該庫中的相關(guān)方法包含的常用接口和基本使用,希望對大家有所幫助
    2023-08-08
  • Python3非對稱加密算法RSA實(shí)例詳解

    Python3非對稱加密算法RSA實(shí)例詳解

    這篇文章主要介紹了Python3非對稱加密算法RSA,結(jié)合實(shí)例形式分析了Python3 RSA加密相關(guān)模塊安裝及使用操作技巧,需要的朋友可以參考下
    2018-12-12
  • python爬取m3u8連接的視頻

    python爬取m3u8連接的視頻

    這篇文章主要為大家詳細(xì)介紹了python如何爬取m3u8連接的視頻,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-02-02
  • 理想高通濾波實(shí)現(xiàn)Python opencv示例

    理想高通濾波實(shí)現(xiàn)Python opencv示例

    今天小編就為大家分享一篇關(guān)于理想高通濾波實(shí)現(xiàn)Python opencv示例,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧
    2019-01-01
  • python pillow模塊使用方法詳解

    python pillow模塊使用方法詳解

    這篇文章主要介紹了python pillow模塊使用方法詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-08-08
  • 用Pygal繪制直方圖代碼示例

    用Pygal繪制直方圖代碼示例

    這篇文章主要介紹了用Pygal繪制直方圖代碼示例,具有一定借鑒價(jià)值,需要的朋友可以了解下。
    2017-12-12
  • python difflib模塊示例講解

    python difflib模塊示例講解

    這篇文章主要為大家詳細(xì)介紹了python difflib模塊的示例,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-09-09
  • Django分頁器的用法你都了解嗎

    Django分頁器的用法你都了解嗎

    在我們做Django項(xiàng)目,數(shù)據(jù)量比較大的時(shí)候,我們需要分頁器來做分頁顯示,接下來重點(diǎn)給大家介紹利用Django開發(fā)MVT模型項(xiàng)目時(shí)分頁器的使用,感興趣的朋友一起看看吧
    2021-05-05

最新評論