Вверх ↑
Ответов: 4629
Рейтинг: 749
#1: 2019-01-10 15:42:37 ЛС | профиль | цитата
nesco писал(а):
Это если нет задержки, если же есть задержка
Всего лишь уменьшается вероятность ошибки (которая может быть приемлемой). Я считаю, что программист не должен писать код, который полагается на время исполнения кода (а также на взаимный порядок исполнения разных потоков, если явно об этом не позаботится).
Скажем, параллельный поток 100 раз вызвал DeferredEvent, из них 50 подряд дошли до очереди сообщений. Затем главный поток завершил обработку предыдущих сообщений и приступил к выборке этих 50-ти - без всяких задержек, а тупо подряд. А теперь если параллельный поток во время этих 50-ти чтений Memory всего один раз запишет в неё данные (после своей задержки) - мне кажется, вероятность встречи этих 2-х потоков достаточно высокая.
И да, речь о Memory. А если там будет StrList или MemoryStream с их перевыделениями памяти?
карма: 26

0
Редактировалось 2 раз(а), последний 2019-01-10 15:47:38