from socket import
*from threading import thread
import sys
# 客戶端處理
defhandle
(c):
print
("客戶端:"
,c.getpeername())
while
true
: data = c.recv(
1024)if
not data:
break
print
(data.decode())
c.send(b'ok'
)# 建立監聽套接字
host =
"0.0.0.0"
port =
8888
addr =
(host,port)
s = socket(
)s.setsockopt(sol_socket,so_reuseaddr,1)
s.bind(addr)
s.listen(3)
# 迴圈等待客戶端連線
while
true
:try
: c,addr = s.accept(
)except keyboardinterrupt:
sys.exit(
"退出伺服器"
)except exception as e:
print
(e)continue
# 建立新的執行緒處理客戶端請求
t = thread(target=handle,args=
(c,)
) t.setdaemon(
true
)# 分支執行緒隨主線程退出
t.start(
)
多執行緒併發
多執行緒併發主要有3個方面 1 同步器 主要有synchronized,reentrantlock 訊號量,門栓 countdownlatch 障柵 cyclicbarrier 交換器。2 同步容器 主要包括 對映 集 佇列 對映 concurrenthashmap,concurrentskipli...
多執行緒併發
更簡單的執行緒池 多執行緒和多程序都可以很容易的實現併發,協程通過切換上下文來充分利用cpu實現併發效果 threading模組 thread類的基本狀態和行為 屬性名和值 name none,group none,target none,args kwargs daemon none 方法 sta...
網路程式設計 套接字併發 tcp併發多執行緒
基於tcp併發多執行緒的客戶端,多個客戶端都是一樣的測試 import socket phone socket.socket socket.af inet,socket.sock stream phone.connect 127.0.0.1 8080 while true x input 客戶端 s...