Day 4:多线程聊天室
这个比较简单,用来练一下手,不过发现一个问题,多线程用while循环的时候,不论循环条件,CPU占用直接拉满,但用列表for循环却可以,应该是和操作系统原理有关,希望知道的大佬不吝赐教,哈哈~
聊天室A:
1 from threading import Thread 2 from socket import * 3 4 5 #接收信息 6 def recvData(): 7 msg=s.recv(1024) 8 print("------------------->>:",msg.decode()) 9 print() 10 11 12 13 #发送信息 14 def sendData(): 15 info=input("-------------------<<:") 16 s.sendto(info.encode(),(ip,port)) 17 print() 18 #--------------------------- 19 ip="localhost" #对方ip 20 port=1003 #对方端口号 21 22 s=socket(AF_INET,SOCK_DGRAM) 23 s.bind(("localhost",1004)) 24 25 tr=Thread(target=recvData) 26 ts=Thread(target=sendData) 27 28 29 tr.start() 30 ts.start()
聊天室B:
1 from threading import Thread 2 from socket import * 3 4 #接收信息 5 def recvData(): 6 msg=s.recv(1024) 7 print("------------------->>:",msg.decode()) 8 print() 9 10 11 12 #发送信息 13 def sendData(): 14 info=input("-------------------<<:") 15 s.sendto(info.encode(),(ip,port)) 16 print() 17 18 19 #--------------------------- 20 ip="localhost" #对方ip 21 port=1004 #对方端口号 22 23 s=socket(AF_INET,SOCK_DGRAM) 24 s.bind(("localhost",1003)) 25 26 tr=Thread(target=recvData) 27 ts=Thread(target=sendData) 28 29 tr.start() 30 ts.start()
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
今天第四天啦~发布博文多了限制,单纯记录也有限制呢,就是说快点学好技术叭
标签:聊天室,python,-------------------,msg,从零开始,print,import,def From: https://www.cnblogs.com/AC-Mirabelle/p/16793078.html