python中協程的作用是什么?很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。
1、簡單易用,與C/C++、Java、C# 等傳統語言相比,Python對代碼格式的要求沒有那么嚴格;2、Python屬于開源的,所有人都可以看到源代碼,并且可以被移植在許多平臺上使用;3、Python面向對象,能夠支持面向過程編程,也支持面向對象編程;4、Python是一種解釋性語言,Python寫的程序不需要編譯成二進制代碼,可以直接從源代碼運行程序;5、Python功能強大,擁有的模塊眾多,基本能夠實現所有的常見功能。
1、作用分析
(1)當IO密集時,使用協程會提高最大效率。
(2)實現“遇到IO切換+保存狀態”去欺騙操作系統,讓操作系統誤以為沒有IO操作,擁有CPU執行權限,從而實現單線程下并發。
2、實例
import time #遇到IO切換(gevent) + 保存狀態 from gevent import monkey #猴子補丁 monkey.patch_all() #監聽所有的任務是否有IO操作 from gevent import spawn #spawn(任務) from gevent import joinall COUNT = 10000000 start = time.clock() def countdown(n): while n > 0: n -= 1 sp1 = spawn(countdown, COUNT//2) sp2 = spawn(countdown, COUNT//2) # sp1.start() # sp2.start() # sp1.join() # sp2.join() joinall([sp1, sp2]) #等同于上面六步 print('Time used:', time.clock() - start) # ('Time used:', 0.40398999999999985)
看完上述內容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注億速云行業資訊頻道,感謝您對億速云的支持。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。