Так ведь насколько я знаю в жаве встроенная поддержка сосёт как пылесос Вулкан. Например, замечательное слово volatile оказывается совершенно бессмысленным и бесполезным, потому что охочий до оптимизаций конпелятор может переносить через него все другие чтения и записи. То есть если вы считаете, что код
volatile bool flag;
int something = 0;
...
flag = 0;
something = 10;
sleep(1000);
if (flag)
{
if (something == 20)
{
doSomething();
}
}
гарантирует вам, что тело ифа может исполниться вообще, то вы глубоко заблуждаетесь, ололо. Это в сишарпе assignment to a volatile memory location acts as a memory barrier, preventing relocation of reads and writes from/to ANY memory locations to be cached by the compiler. А в жаве как нефиг - something не volatile, значит, можно её зачитать в регистр вначале функции и больше не трогать никогда.
no subject
Date: 2009-03-13 10:00 pm (UTC)гарантирует вам, что тело ифа может исполниться вообще, то вы глубоко заблуждаетесь, ололо. Это в сишарпе assignment to a volatile memory location acts as a memory barrier, preventing relocation of reads and writes from/to ANY memory locations to be cached by the compiler. А в жаве как нефиг - something не volatile, значит, можно её зачитать в регистр вначале функции и больше не трогать никогда.