Date: 2011-11-12 07:02 pm (UTC)
yigal_s: (0)
From: [personal profile] yigal_s
* не такой уж парадоксальный

ок. приведу конкретный пример:

external int val;

void somefunc()
{
val=1;
}


void f1()
{
val = 0;
for(;;)
{
somefunc();
if(val)
break;
}
}

в соответствии с вышеизложенным спеком, функция f1 может никогда не окончиться. )))

* получается, что разные треды могут полагаться лишь на внешний контракт, т.е. observable behavior, вроде так

Стандарт 2003 года вообще никак не специфицирует работу с тредами.
Observable behaviour - это не то, что видят треды друг у друга, а то что видит "внешний наблюдатель", скажем, устройтсво в volatile регистры которого пишет программа или операционная система, функции ввода-вывода которой вызываются.
This account has disabled anonymous posting.
If you don't have an account you can create one now.
HTML doesn't work in the subject.
More info about formatting