[Python-Dev] [PEP 3148] futures - execute computations asynchronously
Brian Quinlan
brian at sweetapp.com
Wed Mar 10 09:19:42 CET 2010
On 9 Mar 2010, at 08:11, exarkun at twistedmatrix.com wrote:
> On 08:56 pm, digitalxero at gmail.com wrote:
>> On Mon, Mar 8, 2010 at 12:04 PM, Dj Gilcrease
>> <digitalxero at gmail.com> wrote:
>>> A style I have used in my own code in the past is a Singleton class
>>> with register and create methods, where the register takes a
>>> name(string) and the class and the create method takes the name and
>>> *args, **kwargs and acts as a factory.
>>
>>
>> So I decided to play with this design a little and since I made it a
>> singleton I decided to place all the thread/process tracking and exit
>> handle code in it instead of having the odd semi-global scoped
>> _shutdown, _thread_references, _remove_dead_thread_references and
>> _python_exit objects floating around in each executor file, seems to
>> work well. The API would be
>>
>> from concurrent.futures import executors
>>
>> executor = executors.create(NAME, *args, **kwargs) # NAME is
>> 'process'
>> or 'thread' by default
>>
>>
>> To create your own executor you create your executor class and add
>> the
>> following at the end
>
> Getting rid of the process-global state like this simplifies testing
> (both testing of the executors themselves and of application code
> which uses them). It also eliminates the unpleasant interpreter
> shutdown/module globals interactions that have plagued a number of
> stdlib systems that keep global state.
I'm not sure what you mean, could you clarify?
Cheers,
Brian
More information about the Python-Dev
mailing list