Я пишу задний конец онлайн-судьи (проверка кода) в python 2.7, который принимает представления из базы данных (с использованием mysql), оценивает представление и записывает результат обратно в базу данных. Я запускаю несколько процессов и каждый процесс запускает Несколько threads.For время Я печатаю статус оценок и другие вещи непосредственно в STDOUT. У меня нет даже поставить блокировку при печати (что громоздко, потому что есть много заявлений на печать). Хотя я знаю, что в этом состоянии необходимо блокирование. Но у моего оценщика был только один процесс, который имел только один поток. поставил блокировку в это время и перенаправлял STDOUT
и STDERR
в файл из командной строки. Но теперь дело другое. Также такой журнал трудно будет прочитать и найти ошибку и другие вещи, если мой оценщик потерпит крах. Есть ли какой-то аккуратный способ регистрация в этом случае ??Регистрация в многопроцессорной и многопоточной программе python?
1
A
ответ
2
Вы можете использовать переменную как счетчик, который является счетчиком процессов или потоков. Таким образом, вы можете проверить этот счетчик, и вы можете использовать блокировку, если счетчик больше 1.
Смежные вопросы
- 1. Регистрация Python в многопроцессорной обработке
- 2. Профилирование многопоточной и многопроцессорной программы
- 3. Как использовать PostgreSQL в многопоточной программе python
- 4. синхронизируя встроенный Python в многопоточной программе
- 5. fork в многопоточной программе
- 6. java.lang.NullPointerException в многопоточной программе
- 7. Lock() в многопоточной программе
- 8. Включить и выключить цикл в многопроцессорной программе в Python
- 9. запрос о многопоточной программе
- 10. Качающаяся графика в многопоточной программе
- 11. Несоответствие данных в многопоточной программе
- 12. Когда устанавливать замки для многопоточной и многопроцессорной обработки?
- 13. Неожиданный результат в многопоточной программе
- 14. станд :: строка в многопоточной программе
- 15. Нет ускорения в многопоточной программе
- 16. Mysql в многопоточной программе - my_thread_global_end()
- 17. Исключение IndexOutOfRange в многопоточной программе
- 18. Сериализация последовательность в многопоточной программе
- 19. ошибка сегментации в многопоточной программе
- 20. стоимость недвижимости в многопоточной программе
- 21. Неожиданный вывод в многопоточной программе
- 22. ошибка сегментации в многопоточной программе
- 23. Ошибка сегментации в многопоточной программе
- 24. Ядро дампа в многопоточной программе
- 25. многопроцессорной Python и память
- 26. TensorFlow и Python многопроцессорной
- 27. Возьмите управление интерпретатором в многопоточной программе
- 28. Python многопроцессорной новичку
- 29. обрабатывать сигналы в многопоточной программе python на freebsd
- 30. Python многопроцессорной
Я думаю, что это не сработает Я не могу позволить потокам/процессам одновременно обращаться к этому счетчику переменных, я бы, в свою очередь, должен был установить на него блокировку . Аналогичная проблема снова. –
Yeap вы правы. Вы должны использовать блокировку. Я думаю, вы не избегаете использования для блокировки. Мне интересно, как его решить. – hinzir
да! думаю, спасибо за ответ :) –