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... Ciao, Mattia -- http://mail.python.org/mailman/listinfo/python-list