Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/three.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 不同的多处理队列对象在不通信时是否应用于不同的进程?_Python_Multiprocessing_Ipc - Fatal编程技术网

Python 不同的多处理队列对象在不通信时是否应用于不同的进程?

Python 不同的多处理队列对象在不通信时是否应用于不同的进程?,python,multiprocessing,ipc,Python,Multiprocessing,Ipc,我是多处理机新手,这是我程序中的一个示例代码,我想知道这是否是最佳实践 我设置了两个彼此不通信的进程,但我传递了相同的multiprocess.Queue()对象来接收它们的输出。代码示例如下: """Setting up multi-processing""" que = Queue() processes_list = list() process1 = Process(target=lambda q, ar

我是多处理机新手,这是我程序中的一个示例代码,我想知道这是否是最佳实践

我设置了两个彼此不通信的进程,但我传递了相同的
multiprocess.Queue()
对象来接收它们的输出。代码示例如下:

"""Setting up multi-processing"""
    que = Queue()
    processes_list = list()
    process1 = Process(target=lambda q, arg1, arg2, arg3, arg4: q.put(readScope(arg1, arg2, arg3, arg4)),
                      args=(que, scope, numCollects, numChan, startTimeVoltage,))
    processes_list.append(process1)
    process2 = Process(target=lambda q, arg1, arg2, arg3: q.put(readOpsens(arg1, arg2, arg3)),
                      args=(que, ser, ntimes, startTimeOpsens,))
    processes_list.append(process2)

    for process in processes_list:
        process.start()

    for process in processes_list:
        process.join()

    """Data manipulation"""
    voltageData = que.get()
    tempData = que.get()

这是一种好的做法吗?

这些看跌期权可以按任何顺序进行。电压数据可能在温度数据变量中结束,而温度数据可能在电压数据变量中结束。因此,如果您希望确保获得第一个进程的输出,然后是第二个进程的输出,则可以标记和排序,或者使用两个队列。

这些put可以以任何顺序进行。电压数据可能在温度数据变量中结束,而温度数据可能在电压数据变量中结束。因此,如果您想确保获得第一个进程和第二个进程的输出,可以标记和排序,或者使用两个队列