成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Python多線程如何解決公車收費中的問題

開發 后端
Python多線程是目前經常使用的,在不斷的發展中我們需要不斷的學習。下面我們就來學習下Python語言中的相關技術問題。

Python多線程有很廣泛的應用空間,首先我們來看看如何進行相關的應用。下面我們就來看看在生活中的案例。希望大家有些啟發。最后,模擬一個公交地鐵IC卡繳車費的Python多線程程序。

有10個讀卡器,每個讀卡器收費器每次扣除用戶一塊錢進入總賬中,每讀卡器每天一共被刷10000000次。賬戶原有100塊。所以最后的總賬應該為10000100。先不使用互斥鎖來進行鎖定(注釋掉了鎖定代碼),看看后果如何。

 

  1. import time,datetime  
  2. import threading  
  3. def worker(a_tid,a_account):  
  4. global g_mutex  
  5. print "Str " , a_tid, datetime.datetime.now()  
  6. for i in range(1000000):  
  7. #g_mutex.acquire()  
  8. a_account.deposite(1)  
  9. #g_mutex.release()  
  10. print "End " , a_tid , datetime.datetime.now()  
  11. class Account:  
  12. def __init__ (self, a_base ):  
  13. self.m_amount=a_base 
  14. def deposite(self,a_amount):  
  15. self.m_amount+=a_amount  
  16. def withdraw(self,a_amount):  
  17. self.m_amount-=a_amount 
  18. if __name__ == "__main__":  
  19. global g_mutex  
  20. count = 0 
  21. dstart = datetime.datetime.now()  
  22. print "Main Thread Start At: " , dstart  
  23. #init thread_pool  
  24. thread_pool = []  
  25. #init mutex  
  26. g_mutex = threading.Lock()  
  27. # init thread items  
  28. acc = Account(100)  
  29. for i in range(10):  
  30. th = threading.Thread(target=worker,args=(i,acc) ) ;  
  31. thread_pool.append(th)  
  32. # start threads one by one  
  33. for i in range(10):  
  34. thread_pool[i].start()  
  35. #collect all threads  
  36. for i in range(10):  
  37. threading.Thread.join(thread_pool[i])  
  38. dend = datetime.datetime.now()  
  39. print "count=",acc.m_amount  
  40. print "Main Thread End at: " ,dend , " time span " , 
    dend-dstart; 

上面就是對相關Python多線程技術的介紹。

【編輯推薦】

  1. Python匹配如何才能完成匹配細節
  2. Python正則表達式十種相關的匹配方法
  3. Python字符串替換如何才能進行字符的拆分
  4. 對Python函數的局部變量的介紹
  5. Python編程語言具有相當高的適應能力
責任編輯:張浩 來源: IT168
相關推薦

2010-03-15 18:11:38

Java多線程

2021-10-20 20:27:55

MySQL死鎖并發

2017-09-23 22:07:24

深度學習N 體問題GAN

2017-09-28 10:40:10

深度學習多體問題多代理系統

2012-09-05 11:09:15

SELinux操作系統

2019-11-05 14:00:23

Windows 10Outlook附件

2010-04-29 17:46:31

Oracle死鎖

2017-10-17 09:21:06

2009-09-21 17:10:14

struts Hibe

2010-02-01 17:25:09

Python多線程

2010-03-16 17:00:02

Java多線程支持

2013-12-16 11:01:08

OpenSUSEOpenSUSE 12VirtualBox

2013-08-16 10:04:46

OpenSUSE 12VirtualBox

2023-03-02 08:19:43

不加鎖程序實時性

2010-08-31 13:56:38

PHP5多線程

2018-01-03 08:42:40

Linux命令磁盤空間

2017-07-20 07:30:16

大數據數據互聯網

2024-10-29 16:41:24

SpringBoot跨域Java

2013-05-21 10:49:59

Windows硬件沖突

2009-12-10 14:19:41

配置靜態路由
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 97精品超碰一区二区三区 | 久久九 | 亚洲激情专区 | 亚洲va欧美va天堂v国产综合 | 国产资源在线视频 | 成人精品一区二区户外勾搭野战 | 亚洲成人一级片 | 毛片日韩 | 国产欧美一区二区三区在线看蜜臀 | 国产h视频 | 国产美女免费视频 | 国产又色又爽又黄又免费 | 亚洲精品国产成人 | 久一精品 | 凹凸日日摸日日碰夜夜 | 在线中文字幕视频 | 欧美国产精品一区二区三区 | 精品一区二区三区在线观看国产 | 五月婷婷色 | 日日夜精品视频 | 精品一区二区三区91 | 日韩欧美国产一区二区 | 香蕉久久a毛片 | 日韩视频一区二区 | 国产最新精品视频 | 欧美成人一区二区 | 小川阿佐美pgd-606在线 | 国产在线精品一区二区三区 | 欧美日韩中文字幕在线播放 | 五月婷婷丁香 | 国产99免费视频 | 九九九视频在线 | 韩三级在线观看 | 久久大全 | 精品国产一区二区三区四区在线 | 波多野结衣在线观看一区二区三区 | 欧美日韩视频一区二区 | 精品国产91乱码一区二区三区 | 免费成人av网站 | 欧美日韩精品影院 | а天堂中文最新一区二区三区 |