线程-多线程socket server聊天、线程本节总结(二)

多线程接受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


posted @ 2019-05-16 23:00  大圣原来姓毛  阅读(237)  评论(0编辑  收藏  举报