这是我看似简单的代码:
from multiprocessing import Process
from Interface_pyqt4 import *
from main import *
def loop_a():
import sys
app = QtGui.QApplication(sys.argv)
MainWindow = QtGui.QMainWindow()
ui = Ui_MainWindow()
ui.setupUi(MainWindow)
MainWindow.show()
sys.exit(app.exec_())
def loop_b():
main(sys.argv)
if __name__ == '__main__':
Process(target=loop_a).start()
Process(target=loop_b).start()
导入的 main (loop_b)从许多不同的文件中依次导入模块,其中一个名为 trigger 的模块包含与此相关的部分代码帖子:
if globals.flag2 == 1:
if globals.counter == 1:
globals.sample50 = numpy.zeros(50)
self.do = datablock.eeg_channels.transpose()
globals.sample50[...] = self.do[:, 0]
globals.counter += 1
if globals.counter == 3:
globals.flag = 1
while globals.flag > 0:
globals.counter = 1
globals.flag = 0
我现在报告另一个导入模块 Interface_pyqt4 的几行相关内容:
if globals.flag ==1:
self.buffer[...] = globals.sample50
globals.flag = 0
globals 之前的所有变量均已从通用文件 globals 导入。 我要点了。 我希望只要一个进程中的全局变量的值发生变化,另一进程中的同一变量的值也发生变化。在我的工作的先前版本中,我没有使用不同的进程,而仅使用不同的文件,这种从通用脚本中导入变量的方法很有效。 有谁知道如何解决这个问题?无论哪种提示都会被赞赏。预先感谢!