В следующем примере:
from random import random
def add_random(x):
return x + random()
results = []
for i in range(200):
results.append(client.submit(add_random, 2))
results[0]
Я заметил, что все фьючерсы в результатах имеют тот же ключ, что и results[0]
. Следовательно, все отдельные result
s в results
имеют одинаковые значения.
С другой стороны, если я сделаю каждый вызов функции уникальным:
def addone(x, i):
return x + 1
results = []
for i in range(200):
results.append(client.submit(addone, 2, i))
results[0]
Каждое будущее имеет уникальный ключ, и все result
в списке results
являются уникальными.
Это ожидаемое поведение? Сначала я предполагал, что в первом случае я должен получить результат, который я получил во втором случае.