, , executor.map.
with concurrent.futures.ProcessPoolExecutor() as executor:
for number, prime in zip(PRIMES, executor.map(is_prime, PRIMES)):
print('%d is prime: %s' % (number, prime))
processPattern executor.map
with concurrent.futures.ProcessPoolExecutor() as executor:
for pattern, res in zip(patterns, executor.map(processPattern(numMis...
print('%d is starts at: %s' % (pattern, res))
with concurrent.futures.ProcessPoolExecutor() as executor:
for pattern, res in zip(patterns, executor.map(processPattern, <stuff>)):
print('%d is starts at: %s' % (pattern, res))
<stuff> processPattern .
, , , , , , patterns ( @uhbif19)
EDIT:
<stuff> iterable, , (processPattern ). patterns , , itertools.repeat:
from itertools import repeat
args = (patterns,
repeat(numMismatchesAllowed, len(PATTERNS)),
repeat(transformedText, len(PATTERNS)),
repeat(charToIndex, len(PATTERNS)),
<etc...>
)
for pattern, res in zip(PATTERNS, executor.map(process, *args)):
, , . .
2:
, submit vs map
import concurrent.futures
def process(a, b):
return a.upper() + b
with concurrent.futures.ProcessPoolExecutor() as executor:
for c, fut in [(c, executor.submit(process, c, 'b')) for c in 'testing']:
print(c, fut.result())
with concurrent.futures.ProcessPoolExecutor() as executor:
for c, res in zip('testing', executor.map(process, 'testing', 'bbbbbbb')):
print(c, str(res))