使用socket+gevent實現協程併發
使用協程庫來實現簡單併發
"""
協程實現併發.
"""
import gevent
from gevent import monkey
import socket
# just like of setBlocking(False)
monkey.patch_socket() # 讓內建socket封裝為IO多路複用的 socket, 實現了accept不阻塞.
server = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
server.bind((socket.gethostbyname(socket.gethostname()), 4444))
server.listen(5)
def work(cnn):
while True:
data = cnn.recv(1024)
if data:
print(data)
else:
cnn.close()
break
if __name__ == '__main__':
while True:
cnn, addr = server.accept()
print("aasdas")
gr = gevent.spawn(work, cnn) # 建立多個協程來服務多client
相關文章
- Go 併發 -- 協程Go
- 學習之路 / goroutine 併發協程池設計及實現Go
- PHP協程:併發 shell_execPHP
- 併發技術2:多協程
- Golang協程併發的流水線模型Golang模型
- 愛奇藝網路協程編寫高併發應用實踐
- Go 併發程式設計 - runtime 協程排程(三)Go程式設計
- PHP 協程實現過程詳解PHP
- golang實現併發爬蟲三(用佇列排程器實現)Golang爬蟲佇列
- 5. 併發神奇——協程 |《 刻意學習 Golang 》Golang
- Golang協程池(workpool)實現Golang
- Phxrpc協程庫實現RPC
- 使用GPars實現JVM併發和Actors模型JVM模型
- python教程:使用 async 和 await 協程進行併發程式設計PythonAI程式設計
- Python協程greenlet實現原理Python
- 【Golang】淺談協程併發競爭資源問題Golang
- Python併發程式設計之協程/非同步IOPython程式設計非同步
- PHP7下的協程實現PHP
- python中的協程及實現Python
- Go多協程併發環境下的錯誤處理Go
- Go - 使用 sync.WaitGroup 來實現併發操作GoAI
- 使用併發工具實現 RPC 呼叫流量控制RPC
- curl_multi實現併發
- 協程實現canvas影像隨機閃爍Canvas隨機
- 使用 Swift 實現歸併排序Swift排序
- 併發要理解的程式、執行緒、協程,附併發程式設計72道面試題答案執行緒程式設計面試題
- 在 Android 開發中使用 Kotlin 協程 (一) -- 初識 Kotlin 協程AndroidKotlin
- Android版kotlin協程入門(四):kotlin協程開發實戰AndroidKotlin
- 執行緒,程式,協程, 併發,並行,同步,非同步概念解析執行緒並行非同步
- python網路-多工實現之協程Python
- 以swoole為例,學習如何實現協程
- 基於lua協程的AI服務實現AI
- Redis實現併發阻塞鎖方案Redis
- java併發之SynchronousQueue實現原理Java
- 在Go中如何實現併發Go
- Java 併發集合的實現原理Java
- 使用 Airtest 實現多臺 IOS 真機的併發測試AIiOS
- golang併發channel使用sync.WaitGroup保證所有協程結束並處理額外業務GolangAI