多线程接受input类型
client
import socket
sk = socket.socket()
sk.connect(('127.0.0.1',8080))
msg = sk.recv(1024)
print(msg)
inp = input('>>> ').encode('utf-8')
sk.send(inp)
sk.close()
server
import socket
from threading import Thread
def chat(conn):
conn.send(b'hello')
msg = conn.recv(1024).decode('utf-8')
print(msg)
conn.close()
sk = socket.socket()
sk.bind(('127.0.0.1',8080))
sk.listen()
while True:
conn,addr = sk.accept()
Thread(target=chat,args = (conn,)).start()
sk.close()
总结
# 正确的学习方法
# input
# output
# correct 纠正
# 线程
# 线程是进程中的执行单位
# 线程是cpu执行的最小单位
# 线城之间资源共享
# 线程的开启和关闭以及切换的时间开销远远小于进程
# 线程本身可以在同一时间使用多个cpu
# python 与 线程
# Cpython解释器在解释代码过程中容易产生数据不安全的问题
# GIL 全局解释器锁 锁的是线程
# threading