并发编程~~~多线程~~~计算密集型 / IO密集型的效率, 多线程实现socket通信

一 验证计算密集型 / IO密集型的效率

IO密集型:

IO密集型: 单个进程的多线程的并发效率高.

计算密集型:

计算密集型: 多进程的并发并行效率高.

二 多线程实现socket通信

服务器端:

import socket
from threading import Thread	

def communicate(conn,addr):
    while 1:
        try:
            from_client_data = conn.recv(1024)
            print(f'来自客户端{addr[1]}的消息:{from_client_data.decode("utf-8")}')
            to_client_data = input('>>>').strip()
            conn.send(to_client_data.encode('utf-8'))
        except Exception:
            break
        conn.close()

def accept():
    server = socket.socket()
    server.bind(('127.0.0.1',8848))
    server.listen()
    conn,addr = server.accept()
    t = Thread(target=communicate,args=(conn,addr))
    t.start()

if __name__ == '__main__':
    accept()

在计算机允许范围内,开启的线程进程数量越多越好

posted on 2019-11-05 22:47  Lav3nder  阅读(410)  评论(0编辑  收藏  举报