# 9:45 多线程使用注意
# 在无阻塞状态下,多线程程序和单线程(单进程)程序执行效率几乎差不多,甚至还不如单线程效
# 率。但是多进程运行相同内容却可以有明显的效率提升。

# 1. 任务场景:如果是相对独立的任务模块,可能使用多进程,如果是多个分支共同形成一个整体任
# 务可能用多线程
# 2. 项目结构:多种编程语言实现不同任务模块,可能是多进程,或者前后端分离应该各自为一个进
# 程。 如果频繁创建删除10:25
# 3. 难易程度:通信难度,数据处理的复杂度来判断用进程间通信还是同步互斥方法。  # 7.11 9.10进程线程区分
# 自定义线程类
# while True:
#     try:
#         c,addr = s.accept()
#         print("Connect from",addr)
#     except KeyboardInterrupt:
#         sys.exit('退出服务器')
#     except Exception as e:
#         print(e)
#         continue
# 客户端异常退出,会recv空

b31e2bc010d7fa04adbb8c121d3c82f9098e183e
# 9:45 多线程使用注意
# 在无阻塞状态下,多线程程序和单线程(单进程)程序执行效率几乎差不多,甚至还不如单线程效
# 率。但是多进程运行相同内容却可以有明显的效率提升。

# 1. 任务场景:如果是相对独立的任务模块,可能使用多进程,如果是多个分支共同形成一个整体任
# 务可能用多线程
# 2. 项目结构:多种编程语言实现不同任务模块,可能是多进程,或者前后端分离应该各自为一个进
# 程。 如果频繁创建删除10:25
# 3. 难易程度:通信难度,数据处理的复杂度来判断用进程间通信还是同步互斥方法。  # 7.11 9.10进程线程区分
# 自定义线程类
# while True:
#     try:
#         c,addr = s.accept()
#         print("Connect from",addr)
#     except KeyboardInterrupt:
#         sys.exit('退出服务器')
#     except Exception as e:
#         print(e)
#         continue
# 客户端异常退出,会recv空
