Форум программистов, компьютерный форум CyberForum.ru

Копирование объекта в поток - C++

Восстановить пароль Регистрация
 
Knjagskij
-4 / 6 / 0
Регистрация: 10.11.2008
Сообщений: 772
Завершенные тесты: 1
16.06.2016, 11:40     Копирование объекта в поток #1
"Переданный объект-функция копируется в память, принадлежащую только что созданному потоку выполнения, и оттуда вызывается. Поэтому необходимо, чтобы с точки зрения поведения копия была эквивалентна оригиналу, иначе можно получить неожиданный результат." Энтони Уильямс. Параллельное программирование на С++ в действии. стр 44

А в каком случае копия может не быть эквивалентна оригиналу?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.06.2016, 11:40     Копирование объекта в поток
Посмотрите здесь:

Поток. C++
поток C++
C++ Копирование из временного объекта
C++ Скопировать поток в поток
C++ Зачем нужен конструктор объекта ostringstream (строковый поток который) с двумя аргументами?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
nmcf
4265 / 3696 / 1243
Регистрация: 14.04.2014
Сообщений: 14,478
16.06.2016, 11:49     Копирование объекта в поток #2
А то, что функция копируется, тебя не смущает? Впервые о таком слышу.
Knjagskij
-4 / 6 / 0
Регистрация: 10.11.2008
Сообщений: 772
Завершенные тесты: 1
16.06.2016, 11:51  [ТС]     Копирование объекта в поток #3
Объект с переопределенным оператором operator()(params)

Добавлено через 50 секунд
Наверное временные объекты и указатели можно под эту цитату подвести, но может можно еще какие-нибудь примеры привести
nmcf
4265 / 3696 / 1243
Регистрация: 14.04.2014
Сообщений: 14,478
16.06.2016, 11:51     Копирование объекта в поток #4
И что? Программам вроде как запретили манипулировать собственным кодом.
Knjagskij
-4 / 6 / 0
Регистрация: 10.11.2008
Сообщений: 772
Завершенные тесты: 1
16.06.2016, 11:52  [ТС]     Копирование объекта в поток #5
Цитата Сообщение от nmcf Посмотреть сообщение
И что? Программам вроде как запретили манипулировать собственным кодом.
Что значит запретили манипулировать собственным кодом и когда?
nmcf
4265 / 3696 / 1243
Регистрация: 14.04.2014
Сообщений: 14,478
16.06.2016, 12:01     Копирование объекта в поток #6
Когда придумали многозадачность и стали бороться с вирусами.
Функция в памяти хранится в одном экземпляре, если её вызывают параллельно, то будет свой стек для каждого потока.
О копировании тела функции слышу впервые.
Knjagskij
-4 / 6 / 0
Регистрация: 10.11.2008
Сообщений: 772
Завершенные тесты: 1
16.06.2016, 13:33  [ТС]     Копирование объекта в поток #7
А если убрать слово "функция" и оставить только "объект", то как можно трактовать это высказывание?
nmcf
4265 / 3696 / 1243
Регистрация: 14.04.2014
Сообщений: 14,478
16.06.2016, 13:35     Копирование объекта в поток #8
Ну что у потока своя копия.
Knjagskij
-4 / 6 / 0
Регистрация: 10.11.2008
Сообщений: 772
Завершенные тесты: 1
16.06.2016, 13:37  [ТС]     Копирование объекта в поток #9
А как копия может не соответствовать оригиналу? Только если мы криво оператор копирования переопределили? Или здесь о другом речь?
avgoor
562 / 352 / 83
Регистрация: 05.12.2015
Сообщений: 1,137
16.06.2016, 13:39     Копирование объекта в поток #10
Цитата Сообщение от nmcf Посмотреть сообщение
Программам вроде как запретили манипулировать собственным кодом.
Не запретили. Просто по умолчанию для страниц с кодом нет прав на запись. Если бы совсем запретили - вся защита от копирования отвалилась бы. Кроме того, что можно при компиляции назначить секции права на запись, можно еще ловить PAGEFAULT, итд.
Но к вопросу ТС это не имеет отношения. Там, скорее всего, имеются в виду функциональные объекты / адаптеры и об их копировании речь и идет.
nmcf
4265 / 3696 / 1243
Регистрация: 14.04.2014
Сообщений: 14,478
16.06.2016, 13:40     Копирование объекта в поток #11
Цитата Сообщение от avgoor Посмотреть сообщение
Просто по умолчанию для страниц с кодом нет прав на запись. Если бы совсем запретили - вся защита от копирования отвалилась бы.
И как оно включается?
avgoor
562 / 352 / 83
Регистрация: 05.12.2015
Сообщений: 1,137
16.06.2016, 13:54     Копирование объекта в поток #12
Цитата Сообщение от nmcf Посмотреть сообщение
И как оно включается?
В VS - /SECTION:.text,W
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.06.2016, 14:02     Копирование объекта в поток
Еще ссылки по теме:

C++ Как лучше запретить копирование объекта?
C++ Избыточное копирование объекта при реализации оператора умножения и оператора присваивания
Копирование объекта в вектор C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Knjagskij
-4 / 6 / 0
Регистрация: 10.11.2008
Сообщений: 772
Завершенные тесты: 1
16.06.2016, 14:02  [ТС]     Копирование объекта в поток #13
Цитата Сообщение от avgoor Посмотреть сообщение
Там, скорее всего, имеются в виду функциональные объекты / адаптеры и об их копировании речь и идет.
Да, объекты с перегруженным оператором operator()()
Yandex
Объявления
16.06.2016, 14:02     Копирование объекта в поток
Ответ Создать тему
Опции темы

Текущее время: 09:21. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru