Re[5]: тестовые вопросы
От: Abyx Россия  
Дата: 20.06.12 09:45
Оценка: 1 (1)
Здравствуйте, B0FEE664, Вы писали:

A>>Вы имеете ввиду такой код?

A>>
A>>int sum = 0;
A>>int a, b;

A>>void thread_fn()
A>>{
A>>  a = 3;
A>>  b = 1;

A>>  if (b == 1)
A>>    sum += a;
A>>}

A>>int main()
A>>{
A>>  thread t1(thread_fn);
A>>  thread t2(thread_fn);
A>>  t1.join();
A>>  t2.join();
A>>  return sum;
A>>}
A>>


A>>так sum всегда будет 6, в любом потоке перед if a и b будут 3 и 1

BFE>Даже при выполнении этих ниток на двух разных процессорах?

а, понял.
только непонятно зачем там тогда if и присваивания %)
In Zen We Trust
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.