Форум
.NET
Тема
Как правильно задавать вопросы
B
I
abc
U
X
3
X
3
H1
H2
H3
H4
H5
H6
Asm
C/C++
C#
Erlang
Haskell
IDL
Java
Lisp
MSIL
Nemerle
ObjC
OCaml
Pascal
Perl
PHP
Prolog
Python
Ruby
Rust
SQL
VB
Здравствуйте, vmpire, Вы писали: V>Здравствуйте, Shmj, Вы писали: V>>>В этом примере после компиляции переменная уже не будет локальной, это будет член класса, который сгенерируется из захваченной переменной. V>>>В релизной компиляции всё будет зависеть от настроек компиляции и внутренней логики оптимизатора. S>>Попробуйте вспомнить, откуда вы об этому узнали. Просто по слухам или где-то в авторитетных источниках прочитали? V>Где читал - не помню. Но решарпер это подтверждает. V>>>При компиляции наружного чтения переменной компилятор может и не догадаться, что переменная другого класса может меняться. S>>И что? Создаст свою копию переменной, так что второй поток на нее влиять не будет? V>Нет, просто при компиляции в нативный код не сгенерирует инструкцию чтения ячейки памяти. Вынесет чтение за цикл, так как в цикле она не меняется. V>Вот [url=https://docs.microsoft.com/en-us/archive/msdn-magazine/2012/december/csharp-the-csharp-memory-model-in-theory-and-practice]тут[/url] хорошо расписано про переупорядочивание. V>>>Пытаться демонстрировать случай я не буду, но я бы не стал рисковать, делая такую синхронизацию потоков. S>>А причем тут синхронизация? V>При том, что у вас два зависящих потока, синхронизирующиеся через булевскую переменную.
Теги:
Введите теги разделенные пробелами. Обрамляйте в кавычки словосочетания с пробелами внутри, например:
"Visual Studio" .NET
Имя, пароль:
Загрузить
Нравится наш сайт?
Помогите его развитию!
Отключить смайлики
Получать ответы по e-mail
Проверить правописание
Параметры проверки …