Как я могу использовать код для совместного использования одного и того же экземпляра класса «singletonic» среди процессов?python singleton в многопроцессорную обработку
ответ
Лучше всего обозначить один конкретный процесс как обладающий этим экземпляром и посвященный ему; любой другой процесс, требующий доступа к этому экземпляру, получает его, отправляя сообщения в процесс владения через очередь (как предоставлено модулем многопроцессорности) или другие механизмы IPC для передачи сообщений, и получает ответы через аналогичные механизмы.
Вся суть процессов состоит в том, чтобы иметь разные адресные пространства. Если вы хотите обмениваться информацией между процессами, вы должны использовать некоторые средства interprocess communication.
Я не думаю, что вы можете совместно использовать экземпляр между процессами, но вы можете иметь доступ к общей памяти экземпляра: http://docs.python.org/library/multiprocessing.html#sharing-state-between-processes, чтобы контролировать его состояние, если это действительно то, что вы хотите сделать.
Однако, как указано в других ответах, было бы легче добиться того, чего вы хотите с помощью очереди.
В Python 2.6 модуль multiprocessing
имеет объект Value
, используемый для sharing state between processes. У них есть образец кода, который должен дать вам представление о том, как разделить это состояние таким образом, и вы можете использовать этот подход при написании одноэлементного класса.
- 1. Python, используя удаленных менеджеров и многопроцессорную обработку
- 2. Python: почему вход в многопроцессорную обработку не работает
- 3. Как выполнить многопроцессорную обработку для одной функции в Python?
- 4. Как реализовать многопроцессорную обработку в телефонном разговоре
- 5. Как использовать многопроцессорную обработку для цикла Python с инструкцией break?
- 6. Python завершает многопроцессорную обработку и процесс gui изящно
- 7. Как использовать многопроцессорную обработку Python, чтобы избавиться от вложенных циклов?
- 8. Как модульный тестовый код, использующий многопроцессорную обработку на основе python
- 9. Python - Как передать глобальную переменную на многопроцессорную обработку.
- 10. Как создать многопроцессорную обработку на JSP?
- 11. Почему импорт имеет затраты на многопроцессорную обработку?
- 12. Сделать многопроцессорную обработку Python.Питать между двумя функциями
- 13. Использовать многопроцессорную обработку для получения информации из нескольких сокетов
- 14. Как использовать многопроцессорную обработку с Java - НЕ многопоточность
- 15. Как использовать многопоточность/многопроцессорную обработку, чтобы предотвратить зависание программы?
- 16. Что такое маринованное, когда я вызываю многопроцессорную обработку.
- 17. PyQt4 как я могу использовать многопроцессорную обработку, нажав кнопку pushButton
- 18. Как я могу отправить многопроцессорную обработку python Выход процесса в Tkinter gui
- 19. Как очистить многопроцессорную очередь в python
- 20. Веб-сервер Python tornado: как использовать многопроцессорную обработку для ускорения веб-приложения
- 21. Python: Как я могу использовать многопроцессорную обработку для ускорения работы с экземплярами класса?
- 22. Как использовать многопроцессорную функцию?
- 23. распечатать обработку выполнения в Python
- 24. Прервать обработку HTMLParser в Python
- 25. попробуйте исключить обработку в python
- 26. Как использовать многопроцессорную обработку для извлечения ссылок с веб-страниц с помощью Beautiful Soup?
- 27. Использовать многопроцессорную обработку/поток для прерывания работы массива numpy в кусках
- 28. использовать многопроцессорную обработку для запроса в том же соединении mysqldb, block?
- 29. Как выполнить многопроцессорную обработку в python на 2-м строках с использованием логической логики строки fuzzywuzzy? Текущий код очень медленный
- 30. В Python, как я могу отправить очередь на многопроцессорную обработку. Процесс после того, как он уже запущен?
Следует ли вместо этого использовать резьбу? – DrFalk3n