一、进程用法,进程池,进程之间的通信,队列的使用,线程
1、进程用法


2、进程池


3、进程之间的通信,队列的使用(multiprocessing中的queue类,方法中block参数即是阻塞队列的意思,即如果满了要等待不满了才最终放进队列去)


4、线程(线程之间可以共享全局变量,而进程之间不行,进程之间可以给参数传一个如队列进去,可以共享修改的值)(Lock也是threading模块下的一个类)
(上面讲进程时也讲了一个在multiprocessing中的队列Queue,这里也有一个python的内置模块有个队列Queue,也许这里这个类更适用于多线程吧,比如唤醒功能task_done())




二、聊天室项目(肯定也有按钮绑定方法,启动按钮后new一个主线程,并且把主线程设置为守护线程,这样主窗体不关闭服务器或者客户端就不关闭;每进来一个客户端就把socket信息保存进一个继承式线程里面,这些客户端线程都放进一个字典里;服务器这边每个客户端线程循环接收数据当isOn为true时,接收到一条数据后就在服务器只读文本框里展示并且依靠客户端线程字典里保存的客户端socket转发给所有客户端;客户端那里再接收并且展示)
(客户端里基本只有主线程会循环接收数据,发送数据就是点个按钮然后用保存的连接好的client_socket发送即可;服务端主线程负责循环accept接收连接请求,并且保存连接进来的客户端信息并且把客户端信息放进客户端线程字典里并且启动当前客户端线程,这服务器端保存的客户端线程要循环接收信息即client_socket.recv(1024))



