python-pyside2使用中遇到的 问题整理
程序中使用了multiprocessing.Process导致重复执行了__main__方法
解决方法:
在main方法中执行代码
if __name__ == '__main__':
# multiprocessing.freeze_support()的作用是在Windows系统上启动多进程时调用,以确保在冻结的应用程序中多进程可以正常工作。
# 在Windows系统中,由于不支持fork机制,multiprocessing模块通过创建新的进程来运行代码,而不是复制现有进程。
# 这可能会导致在导入主模块时出现问题,因为每个新进程都会尝试执行主模块中的代码。
# 为了解决这个问题,需要在主模块的顶部添加if __name__ == '__main__':语句,并在该条件下调用multiprocessing.freeze_support()函数。12
# 在非Windows系统(如Linux和macOS)上,通常不需要调用multiprocessing.freeze_support(),因为这些系统支持fork机制,不会出现上述问题
multiprocessing.freeze_support()