Python: Блокировки от 'поточной обработки' и interchangable 'многопроцессорной обработки'?

«Место не может быть нулевым, как вы можете видеть». Значение по умолчанию для JoinColumn для параметров «nullable» равно true, поэтому оно может быть нулевым.

https://www.doctrine-project.org/projects/doctrine-orm/en/2.6/reference/annotations-reference.html#annref_joincolumn

7
задан Ram Rachum 11 April 2009 в 07:37
поделиться

3 ответа

Обычно их можно использовать взаимозаменяемо, но вам необходимо учитывать различия. Например, multiprocessing.Event поддерживается именованным семафором, который чувствителен к платформе в приложении.

Multiprocessing.Lock поддерживается Multiprocessing.SemLock - поэтому ему нужны именованные семафоры. По сути, вы можете использовать их взаимозаменяемо, но использование многопроцессорных блокировок вводит некоторые требования платформы к приложению (а именно, оно не работает на BSD :))

8
ответ дан 7 December 2019 в 01:26
поделиться

Я так не думаю. Блокировки потоков находятся в одном и том же процессе, в то время как блокировка многопроцессорности, вероятно, будет в общей памяти.

В прошлый раз, когда я проверял, многопроцессорность не позволяет вам совместно использовать блокировку в очереди, которая является блокировкой потоков.

1
ответ дан 7 December 2019 в 01:26
поделиться

Да, вы можете использовать блокировки из многопроцессорного модуля как обычно в вашем однопроцессном приложении, но если вы используя многопроцессорность, вы должны использовать его блокировки.

1
ответ дан 7 December 2019 в 01:26
поделиться
Другие вопросы по тегам:

Похожие вопросы: