Comment22

This is a comment on Спецкурс Cxx / Задачи / Библиотека Журналирования, posted by Anton Dedov at 2006-05-10 13:01:56
Речь идет о том, что когда некоторая часть кода библиотеке начнет работать в отдельной нити, клиентский код может конфликтовать с кодом библиотеки. Например возможна ситуация, когда пользователь помещает сообщение в очередь, а библиотека удаляет сообщение из очереди в это время. Здесь нужно использовать какой-то из способов синхронизации потоков, например conditional variables.

Требование заключается в том, что пользовательский код не должен меняться в зависимости от того работает библиотека синхронно или в отдельной нити. Хотя например место, где библиотека инициируется и т.п. может меняться, это не в счет, т.к. оно одно.