pyqt5封装的exe。一台电脑多开同一执行程序时,互相之间会有影响吗

最近用pyqt封装了一个股票交易类的执行程序,我打算在同一台电脑上同时运行多个该程序,选择不同的股票进行交易。因为是同一电脑多开同一程序,这样他们之间会有影响吗,比如全局变量会被互相占用吗。如果有影响该如何解决,需要用什么多开隔离器之类的软件吗

全局变量不会互相影响
配置文件或注册表操作可能会互相影响
有影响可以使用虚拟机或多开隔离器

  • 你可以参考下这个问题的回答, 看看是否对你有帮助, 链接: https://ask.csdn.net/questions/7722234
  • 你也可以参考下这篇文章:pyqt5打包发布可执行exe程序的三种常用方法
  • 除此之外, 这篇博客: PyQt5 自定义标题栏,实现无边框,最小化最大化关闭事件,窗口拖动移动,窗口改变大小,仿百度网盘色调美化中的 PyQt5 自定义标题栏,实现无边框,最小化最大化关闭事件,窗口拖动移动,窗口改变大小,仿百度网盘色调美化 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:

    • 您还可以看一下 李宁老师的PyQt5开发与实战视频教程课程中的 打开、创建、插入数据和关闭数据库小节, 巩固相关知识点
    • 以下回答由chatgpt基于相关博客总结生成:

      对于多开同一程序的问题,通常情况下多个程序之间会互相影响,包括使用全局变量时会被占用。解决方案是采取多进程或者多线程来实现程序的多开,这样可以让每个进程/线程拥有自己的内存空间,互相不会影响到彼此的变量和函数等资源。具体来说,可以使用Python的multiprocessing或者threading模块来实现多进程/多线程的编程。下面给出一个使用多进程的例子:

      import multiprocessing
      from my_trading_program import TradingProgram
      
      program1 = TradingProgram(stocks=["AAPL","MSFT","FB"], account="account1")
      program2 = TradingProgram(stocks=["GOOGL","TSLA","AMZN"], account="account2")
      
      # 启动两个进程来分别运行program1和program2
      process1 = multiprocessing.Process(target=program1.run)
      process2 = multiprocessing.Process(target=program2.run)
      process1.start()
      process2.start()
      

      在以上代码中,我们首先定义了两个TradingProgram对象program1和program2,然后启动两个进程分别运行这两个对象的run()方法。实际上,run()方法就是我们原来写的股票交易程序的主程序代码。由于使用了多进程,所以这两个程序之间的变量和其他资源都不会互相影响。

      另外,需要注意的是,如果TradingProgram对象中使用了PyQt5来实现图形界面,则需要注意在多进程或者多线程中如何启动应用程序,并且在Windows系统下也需要特别注意处理多进程相关的问题,比较推荐的方法是使用异步任务队列,例如使用Celery或者RabbitMQ来实现多进程任务的分发和调度。