производитель потребитель - PullRequest
1 голос
/ 19 июля 2011

У меня есть приложение, в котором есть часть, где некоторые переменные записываются и читаются с очень высокой частотой. Есть ли необходимость в семафорах или блокировках (в этом случае согласованность данных не является проблемой). Есть ли вероятность прерывания или сбоя приложения. Я не хочу вдаваться в потоки, семафоры и прочее, поскольку это тривиальная часть приложения .

1 Ответ

1 голос
/ 19 июля 2011

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

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

Это еще более важно при работе с многоядерными системами, которые сейчас становятся популярными.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...