Message238373
Currently, concurrent.futures requires you to explicitly create and manage the lifecycle of a dedicated executor to handle multithreaded and multiprocess dispatch of concurrent activities.
It may be beneficial to provide module level tmap(), pmap(), tsubmit() and psubmit() APIs that use a default ThreadExecutor and/or ProcessExecutor instance to provide concurrent execution, with reasonable default settings for the underlying thread & process pools.
(Longer names like map_thread, and map_process would also be possible, but tmap & pmap are much easier to type and seem sufficient for mnemonic purposes)
This would allow usage like:
done, not_done = wait(tmap(func, data))
and:
for f in as_completed(tmap(func, data)):
result = f.result()
Ways to explicitly set and get the default thread and process pools would also need to be provided, perhaps based on the design of the event loop management interface in the asyncio module. |
|
Date |
User |
Action |
Args |
2015-03-18 03:20:20 | ncoghlan | set | recipients:
+ ncoghlan |
2015-03-18 03:20:20 | ncoghlan | set | messageid: <1426648820.66.0.638337601517.issue23697@psf.upfronthosting.co.za> |
2015-03-18 03:20:20 | ncoghlan | link | issue23697 messages |
2015-03-18 03:20:19 | ncoghlan | create | |
|