LINUX.ORG.RU

История изменений

Исправление x_hash, (текущая версия) :

Почему блин тупо не вызвать эти методы руками, только с разными данными, без извращений с сигналами? Напрямую?

Объект поставщик работает на одном потоке и его методы должны вызываться только из этого потока. Объект-обработчик на другом потоке. Пока общение идет только сообщениями (сигналами), то каждый метод объекта даже не задумывается о параллельности выполнения. Как только из одного потока начинается вызов методов объекта, который работает в другом потоке, то начинается разделение данных и нужно позаботится об их целостности (вспоминать про гонки данных, параллельный доступ, блокировки с дедлоками и много чего, о чем даже не подозреваешь).

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

P.S. Или я что-то не так понял?

Исходная версия x_hash, :

Почему блин тупо не вызвать эти методы руками, только с разными данными, без извращений с сигналами? Напрямую?

Объект поставщик работает на одном потоке и его методы должны вызываться только из этого потока. Объект-обработчик на другом потоке. Пока общение идет только сообщениями (сигналами), то каждый метод объекта даже не задумывается о параллельности выполнения. Как только из одного потока начинается вызов методов объекта, который работает в другом потоке, то начинается разделение данных и нужно позаботится об их целостности (вспоминать про гонки данных, параллельный доступ, блокировки с дедлоками и много чего, о чем даже не подозреваешь).

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