要在Python中使用Process函數修改外部變量,可以使用共享內存或使用Manager對象。
使用共享內存:
示例代碼如下:
import multiprocessing as mp
def modify_shared_variable(shared_var):
shared_var.value += 1
if __name__ == '__main__':
shared_var = mp.Value('i', 0)
process = mp.Process(target=modify_shared_variable, args=(shared_var,))
process.start()
process.join()
print(shared_var.value) # 輸出1
使用Manager對象:
示例代碼如下:
import multiprocessing as mp
def modify_shared_variable(shared_var):
shared_var.value += 1
if __name__ == '__main__':
manager = mp.Manager()
shared_var = manager.Value('i', 0)
process = mp.Process(target=modify_shared_variable, args=(shared_var,))
process.start()
process.join()
print(shared_var.value) # 輸出1
注意:在使用共享內存或Manager對象時,需要確保所有修改共享數據的操作都是原子的,以避免競爭條件。