多執行緒網路併發

2021-09-26 01:47:55 字數 948 閱讀 9103

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...