gervaz <ger...@gmail.com> writes:

> On 3 Gen, 22:17, Adam Skutt <ask...@gmail.com> wrote:
>> On Jan 3, 4:06 pm, Jean-Paul Calderone <calderone.jeanp...@gmail.com>
>> wrote:
>>
>>
>>
>> > > Multiple processes, ok, but then regarding processes' interruption
>> > > there will be the same problems pointed out by using threads?
>>
>> > No.  Processes can be terminated easily on all major platforms.  See
>> > `os.kill`.
>>
>> Yes, but that's not the whole story, now is it?  It's certainly much
>> more reliable and easier to kill a process.  It's not any easier to do
>> it and retain defined behavior, depending on exactly what you're
>> doing.  For example, if you kill it while it's in the middle of
>> updating shared memory, you can potentially incur undefined behavior
>> on the part of any process that can also access shared memory.
>>
>> In short, taking a program that uses threads and shared state and
>> simply replacing the threads with processes will likely not gain you a
>> thing.  It entirely depends on what those threads are doing and how
>> they do it.
>>
>> Adam
>
> As per the py3.1 documentation, os.kill is only available in the Unix
> os. Regarding the case pointed out by Adam I think the best way to
> deal with it is to create a critical section so that the shared memory
> will be updated in an atomic fashion. Btw it would be useful to take a
> look at some actual code/documentation in order to understand how
> others dealt with the problem...

There is the multiprocessing module. It's a good start, and works
cross-platform.

Diez
-- 
http://mail.python.org/mailman/listinfo/python-list

Reply via email to