Re[37]: Безопасность Rust
От: · Великобритания  
Дата: 03.06.19 09:35
Оценка:
Здравствуйте, vdimas, Вы писали:

V>>>>>sig_atomic_t — должен гарантировать атомарность записи в эту переменную, для тех времён было достаточно, чтобы такая переменная была шириной в машинное слово.

V>>>·>Понятие многопоточности появилось в языке совсем недавно.
V>>>Понятие многопоточности в языке появилось давно, одновременно с ключевым словом volatile.
V>·>volatile не связана с многопоточностью.
V>
Ты и ссылку на стандарт С++ привести можешь? Или ты слился как alex_public выше.

V>·>Читай memory model, я ж уже несколько раз упоминал.

V>Ты прочесть написанное уже не в состоянии, что ле? (выделил)
Читай memory model, я ж уже несколько раз упоминал.

V>В случае sig_atomic_t требовалось протащить то "знание", что чтение и запись в эту переменную будет выполняться одной инструкцией процессора.

V>Этого достаточно, чтобы асинхронный механизм прерываний работал в такой программе непротиворечиво.
Верно. Ты повторяешь мои цитаты из стандарта, но не отвечаешь на вопрос "какое это всё имеет отношение к многопоточности".

V>·>поэтому никаких гарантий давать не мог, как карта ляжет, так себя код и поведёт, UB.

V>Это ты сейчас из пальца насасывать изволишь, а механизм сигналинга в Unix изначально был реализован через прерывания и этот механизм работает прекрасно.
V>Иначе бы ты не смог сегодян написать в коде kill(pid, SIGTERM) или в консоли kill 4242 -9.
Асинхронный механизм прерываний != многопоточность.
но это не зря, хотя, может быть, невзначай
гÅрмония мира не знает границ — сейчас мы будем пить чай
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.