Russian Qt Forum

Qt => Многопоточное программирование, процессы => Тема начата: Igors от Ноябрь 12, 2013, 12:04



Название: Структуры + многопоточность
Отправлено: Igors от Ноябрь 12, 2013, 12:04
Добрый день

Столкнулся с таким утверждением (http://scrutator.me/post/2012/08/28/parallel-world-p3.aspx (http://scrutator.me/post/2012/08/28/parallel-world-p3.aspx)).

Цитировать
struct Test
{
    int a;
    int b;
};

и глобальный объект этой структуры, который может быть модифицирован различными потоками:

Test first;//Глобальная облась видимости
    ...
first.a = 5;//Поток 1
    ...
first.b = 4;//Поток 2

Казалось бы всё здесь хорошо, разные потоки модифицируют разные части структура, но как бы не так! В C++03 нет многозадачности, а значит компилятор имеет полное право преобразовать код выше в следующий код:

Test first;//Глобальная область видимости
...
Test tmp = first;
tmp.a = 5;
first = tmp;//Поток 1
...
Test tmp = first;
tmp.b = 4;
first = tmp;//Поток 2

А Вы как дкмаете?

Спасибо


Название: Re: Структуры + многопоточность
Отправлено: Old от Ноябрь 12, 2013, 12:29
Вы вроде хотели это обсудить, а получилось "Как всегда". :) Вы статью прочитали или не получилось?

А где пункт "Мне баба Маня рассказывала, что ..."?

Докатились.


Название: Re: Структуры + многопоточность
Отправлено: m_ax от Ноябрь 12, 2013, 12:44
Цитировать
А Вы как дкмаете?

Может с т.з. здравого смысла это выглядит нелогично..
Но чтоб направить обсуждение в конструктивное русло, не могли бы Вы привести где именно в стандарте C++03 сказано, что такое поведение запрещено?


Название: Re: Структуры + многопоточность
Отправлено: Old от Ноябрь 12, 2013, 12:52

Но чтоб направить обсуждение в конструктивное русло, не могли бы Вы привести где именно в стандарте C++03 сказано, что такое поведение запрещено?

Зачем? Проголосуем и решим. Голосование - вот последняя инстанция для определения истины.  ;D


Название: Re: Структуры + многопоточность
Отправлено: m_ax от Ноябрь 12, 2013, 13:34
Зачем? Проголосуем и решим. Голосование - вот последняя инстанция для определения истины.  ;D

Требую присутствия международных наблюдателей на голосовании  ;D


Название: Re: Структуры + многопоточность
Отправлено: Bepec от Ноябрь 12, 2013, 14:05
Мне больше вопрос нравится. Его можно на любом форуме задать и вызвать холивар :D


Название: Re: Структуры + многопоточность
Отправлено: _OLEGator_ от Ноябрь 12, 2013, 14:14
Предлагаю тему сразу в говорилку перенести, потому что она все равно окажется именно там =)


Название: Re: Структуры + многопоточность
Отправлено: Igors от Ноябрь 13, 2013, 12:01
Если Ваш вариант - было бы интересно его услышать. По поводу выборов "сомнительно" и "верю" - в них нет ничего плохого. Не о каждой вещи может быть четкое/однозначное мнение, что-то знаем поверхностно, где-то слышал, читал - но не более того. По-моему это совершенно нормально.

Вообще "то что знаешь за плечами не носить" - напр если я считаю это чушью, то легко могу объяснить почему. А если начинаются проблемы (дескать, "плохая темв", холивар, говорилка) - то такие знания вызывают большие сомнения  :)


Название: Re: Структуры + многопоточность
Отправлено: Old от Ноябрь 13, 2013, 12:04
Вообще "то что знаешь за плечами не носить" - напр если я считаю это чушью, то легко могу объяснить почему.
Иииии... А то "легко могу", но что-то не видно. :)
Просто я легко могу объяснить, что ваши объяснения чушь. Даже не прибегая к экзотическим системам. :)
А то что вы как всегда пытаетесь рассуждать о вещах, в которых вы не компетентный уже никого не удивляет.

Вы сурка видите? А он есть. :)


Название: Re: Структуры + многопоточность
Отправлено: Igors от Ноябрь 14, 2013, 01:38
Иииии... А то "легко могу", но что-то не видно. :)
Просто я легко могу объяснить, что ваши объяснения чушь. Даже не прибегая к экзотическим системам. :)
А то что вы как всегда пытаетесь рассуждать о вещах, в которых вы не компетентный уже никого не удивляет.

Вы сурка видите? А он есть. :)
К сожалению - вижу :) Old, вот Вы здесь написали здесь 3 поста, что Вы сказали по существу? Бааальшой и жирный НОЛЬ. m_ax хоть какой-то аргумент выдавил (мол "стандарт этого не запрещает"), а у Вас - только понты. Поверьте - (упорное) доказательство моей (или Вашей) некомпетентности никому не интересно, не захламляйте форум.


Название: Re: Структуры + многопоточность
Отправлено: Old от Ноябрь 14, 2013, 08:12
Другого ответа я и не ждал. :)
А как все начиналось.... "мои знания", "легко могу", "чушь", а не одного аргумента привести не получилось. :)
Прежде чем писать "чушь", нужно немного разобраться с вопросом. Если вы не сталкивались с какими-то вещами - это не значит что их нет совсем и это чушь.
А то у вас итераторы чушь, шаблоны - чушь, умные указатели - чушь, а вы в пещере и с каменным топором реальность. :)

Ну а организация голосования это вообще идиотизм, что по вашему оно должно показать?


Название: Re: Структуры + многопоточность
Отправлено: Igors от Ноябрь 14, 2013, 15:51
Ну а организация голосования это вообще идиотизм, что по вашему оно должно показать?
Если Вы считаете что это возможно (первый вариант), то никто Вам не мешает продемонстрировать код где этот эффект возникает. Так Вы покажете что это объективная вещь/реальность которая не решается голосованием. А вот у меня (вариант 3) такой возможности нет, сколько бы кода я ни приводил - невозможность это не докажет. А так как ни одна из сторон не может доказать кодом - остается лишь обменяться мнениями, и голосование для этого вполне подходит.

А как все начиналось.... "мои знания", "легко могу", "чушь", а не одного аргумента привести не получилось.
Мои соображения не секрет, но чего я буду сразу с ними лезть? Это нескромно, меня об этом никто не просил, надо людей послушать.


Название: Re: Структуры + многопоточность
Отправлено: Old от Ноябрь 14, 2013, 15:58
Мои соображения не секрет, но чего я буду сразу с ними лезть? Это нескромно, меня об этом никто не просил, надо людей послушать.
Ваша скромность очаровательна.
Давайте послушаем людей, потом хотелось бы все таки услышать ваши мысли, а то начинать тему "что бы обсудить" и не иметь что сказать совсем не красиво. :)
А потом я вам расскажу свои мысли с примерами кода.