这是一个关于PYTHON多线程多进程的问题

这是我写的服务器代码

import   socket,os
from  multiprocessing  import   Process

def  haha(yong):
     while True:
          data=yong.recv(100)
          if data.decode()!='q':
            yong.send(data)
          else:
             yong.send('q'.encode())
             yong.close()
             break
if __name__ == '__main__':
     service = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
     service.bind(('127.0.0.1', 6))
     service.listen(4)
     print(os.getpid())
     while True:
          yong,add=service.accept()
          jaiyou=Process(target=haha,args=(yong,))
          jaiyou.start()


     service.close()

这是我写的客户机代码

import  socket,os
quest1=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
quest1.connect(('127.0.0.1',6))
while True:
    quest1.send(input().encode())
    data=quest1.recv(100).decode()
    if  data=='q':
       break;
    else:

       print(os.getpid())

       continue

quest1.close()

当多个客户机 连接一个服务器的时候,每个进程ID号都是不同的,这我可以理解,多进程嘛
但是,当我把服务器代码中的进程process换成thread线程的时候。多个客户机的进程Id还不同,这就奇怪了,线程不应该都在一个进程Id里吗

每个客户机都是一个独立的进程。当然id不同。你说的process换成thread线程,是服务器,和客户端没有关系。