Author ncoghlan
Recipients ncoghlan
Date 2015-03-18.03:20:19
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1426648820.66.0.638337601517.issue23697@psf.upfronthosting.co.za>
In-reply-to
Content
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.
History
Date User Action Args
2015-03-18 03:20:20ncoghlansetrecipients: + ncoghlan
2015-03-18 03:20:20ncoghlansetmessageid: <1426648820.66.0.638337601517.issue23697@psf.upfronthosting.co.za>
2015-03-18 03:20:20ncoghlanlinkissue23697 messages
2015-03-18 03:20:19ncoghlancreate