Russian Qt Forum
Ноябрь 23, 2024, 04:02 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Голосование
Вопрос: Может ли код сам менять члены структур?
Да, такое возможно
Сомнительно, хз..
Чушь собачья!
Верю, наверное писали умные люди
Ваш вариант

Страниц: [1]   Вниз
  Печать  
Автор Тема: Структуры + многопоточность  (Прочитано 7812 раз)
Igors
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 11445


Просмотр профиля
« : Ноябрь 12, 2013, 12:04 »

Добрый день

Столкнулся с таким утверждением (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

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

Спасибо
Записан
Old
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4350



Просмотр профиля
« Ответ #1 : Ноябрь 12, 2013, 12:29 »

Вы вроде хотели это обсудить, а получилось "Как всегда". Улыбающийся Вы статью прочитали или не получилось?

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

Докатились.
« Последнее редактирование: Ноябрь 12, 2013, 12:31 от Old » Записан
m_ax
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2095



Просмотр профиля
« Ответ #2 : Ноябрь 12, 2013, 12:44 »

Цитировать
А Вы как дкмаете?

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

Над водой луна двурога. Сяду выпью за Ван Гога. Хорошо, что кот не пьет, Он и так меня поймет..

Arch Linux Plasma 5
Old
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4350



Просмотр профиля
« Ответ #3 : Ноябрь 12, 2013, 12:52 »


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

Зачем? Проголосуем и решим. Голосование - вот последняя инстанция для определения истины.  Смеющийся
« Последнее редактирование: Ноябрь 12, 2013, 12:55 от Old » Записан
m_ax
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2095



Просмотр профиля
« Ответ #4 : Ноябрь 12, 2013, 13:34 »

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

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

Над водой луна двурога. Сяду выпью за Ван Гога. Хорошо, что кот не пьет, Он и так меня поймет..

Arch Linux Plasma 5
Bepec
Гость
« Ответ #5 : Ноябрь 12, 2013, 14:05 »

Мне больше вопрос нравится. Его можно на любом форуме задать и вызвать холивар Веселый
Записан
_OLEGator_
Гость
« Ответ #6 : Ноябрь 12, 2013, 14:14 »

Предлагаю тему сразу в говорилку перенести, потому что она все равно окажется именно там =)
Записан
Igors
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 11445


Просмотр профиля
« Ответ #7 : Ноябрь 13, 2013, 12:01 »

Если Ваш вариант - было бы интересно его услышать. По поводу выборов "сомнительно" и "верю" - в них нет ничего плохого. Не о каждой вещи может быть четкое/однозначное мнение, что-то знаем поверхностно, где-то слышал, читал - но не более того. По-моему это совершенно нормально.

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

Сообщений: 4350



Просмотр профиля
« Ответ #8 : Ноябрь 13, 2013, 12:04 »

Вообще "то что знаешь за плечами не носить" - напр если я считаю это чушью, то легко могу объяснить почему.
Иииии... А то "легко могу", но что-то не видно. Улыбающийся
Просто я легко могу объяснить, что ваши объяснения чушь. Даже не прибегая к экзотическим системам. Улыбающийся
А то что вы как всегда пытаетесь рассуждать о вещах, в которых вы не компетентный уже никого не удивляет.

Вы сурка видите? А он есть. Улыбающийся
« Последнее редактирование: Ноябрь 13, 2013, 12:38 от Old » Записан
Igors
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 11445


Просмотр профиля
« Ответ #9 : Ноябрь 14, 2013, 01:38 »

Иииии... А то "легко могу", но что-то не видно. Улыбающийся
Просто я легко могу объяснить, что ваши объяснения чушь. Даже не прибегая к экзотическим системам. Улыбающийся
А то что вы как всегда пытаетесь рассуждать о вещах, в которых вы не компетентный уже никого не удивляет.

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

Сообщений: 4350



Просмотр профиля
« Ответ #10 : Ноябрь 14, 2013, 08:12 »

Другого ответа я и не ждал. Улыбающийся
А как все начиналось.... "мои знания", "легко могу", "чушь", а не одного аргумента привести не получилось. Улыбающийся
Прежде чем писать "чушь", нужно немного разобраться с вопросом. Если вы не сталкивались с какими-то вещами - это не значит что их нет совсем и это чушь.
А то у вас итераторы чушь, шаблоны - чушь, умные указатели - чушь, а вы в пещере и с каменным топором реальность. Улыбающийся

Ну а организация голосования это вообще идиотизм, что по вашему оно должно показать?
« Последнее редактирование: Ноябрь 14, 2013, 08:19 от Old » Записан
Igors
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 11445


Просмотр профиля
« Ответ #11 : Ноябрь 14, 2013, 15:51 »

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

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

Сообщений: 4350



Просмотр профиля
« Ответ #12 : Ноябрь 14, 2013, 15:58 »

Мои соображения не секрет, но чего я буду сразу с ними лезть? Это нескромно, меня об этом никто не просил, надо людей послушать.
Ваша скромность очаровательна.
Давайте послушаем людей, потом хотелось бы все таки услышать ваши мысли, а то начинать тему "что бы обсудить" и не иметь что сказать совсем не красиво. Улыбающийся
А потом я вам расскажу свои мысли с примерами кода.
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.058 секунд. Запросов: 24.