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

A>>>sizeof(S), который не меньше суммы sizeof ее членов. выравнивание не указано, и компилятор может использовать любое выравнивание.

A>>>btw, в своем ответе Вы забыли про alignment=1
AP>>спасибо, а на практике это 8-битные процы, аля atmega, z80, i8080?
A>на практике это #pragma pack(1) и например передача структур по сети
или опции компилятора

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

Даже при выполнении этих ниток на двух разных процессорах?
И каждый день — без права на ошибку...
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.