我有一些程序,其中多个进程尝试完成某些功能。我现在的目标是在一个进程成功完成该功能后停止所有其他进程。
不幸的是,下面显示的 python 程序要等到所有进程都成功解决 find 函数中给出的问题。我该如何解决我的问题?
import multiprocessing
import random
FIND = 50
MAX_COUNT = 100000
INTERVAL = range(10)
def find(process, initial, return_dict):
succ = False
while succ == False:
start=initial
while(start <= MAX_COUNT):
if(FIND == start):
return_dict[process] = f"Found: {process}, start: {initial}"
succ = True
break;
i = random.choice(INTERVAL)
start = start + i
print(start)
processes = []
manager = multiprocessing.Manager()
return_code = manager.dict()
for i in range(5):
process = multiprocessing.Process(target=find, args=(f'computer_{i}', i, return_code))
processes.append(process)
process.start()
for process in …Run Code Online (Sandbox Code Playgroud) 我有一本任意字典,例如:
a_dict = {'A': 'a', 'B':b, 'C': 'h',...}
Run Code Online (Sandbox Code Playgroud)
和任意字符串列表,例如:
a_list = ['Abgg', 'C><DDh', 'AdBs1A']
Run Code Online (Sandbox Code Playgroud)
我现在的目标是在Python中找到一些简单的方法或算法,用相应的值替换字典中的关键元素。表示“A”被“a”替换,依此类推。所以结果将是列表:
a_result = ['abgg', 'h><DDh', 'adbs1a']
Run Code Online (Sandbox Code Playgroud)