|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
20.10.2010, 02:23 | #1 |
Пользователь
Регистрация: 21.05.2009
Сообщений: 21
|
Копирование объектов в Multithreading
Упрощенный пример
Код:
1. Как лучше сделать чтобы при objectA2 = objectA1; копировались не указатели на MyObjectsB, а создавалась собственная копия MyObjectsB для objectA2. Перегрузкой оператора =, отдельной функцией или как-то ещё. 2. При условии, что функция void MyFunc(void) будет вызываться из множества потоков что следует исправить в коде? Подскажите что исправить или посоветуйте литературу, а если и то и то, то вообще будет шикарно. |
20.10.2010, 10:40 | #2 |
Форумчанин
Регистрация: 26.10.2009
Сообщений: 170
|
1. тебе нужно определить свой конструктор копирования. почитай про глубокое копирование (хотя бы в википедии)
2. есть много способов для синхронизации потоков, напр. мьютексы, критические секции, семафоры. Я, например, в своих программах использовал обертку над критическими секциями, если надо могу подогнать Последний раз редактировалось sashonk; 20.10.2010 в 10:51. |
20.10.2010, 21:53 | #3 | |
Пользователь
Регистрация: 21.05.2009
Сообщений: 21
|
Цитата:
MyClassA objectA2 = objectA1; MyClassA objectA2(objectA1); а если написать objectA2 = objectA1; то произойдет поверхностное копирование и в деструкторе при delete MyObjectsB[]; выдаст ошибку. 2. Да если можно покажите, буду благодарен |
|
21.10.2010, 10:19 | #4 | |
Старожил
Регистрация: 21.03.2009
Сообщений: 2,193
|
Цитата:
Простые и красивые программы - коды программ + учебник C++
Создание игры - взгляд изнутри - сайт проекта Тема на форуме, посвященная ему же |
|
29.11.2010, 10:41 | #5 |
Пользователь
Регистрация: 21.05.2009
Сообщений: 21
|
А при перегрузке оператора = обязательно придется прописывать копирование каждой переменной или можно как-то их скопом скопировать? (а затем уже с нужными объектами провести глубокое копирование)
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
координаты объектов | ИльяМалиновский | JavaScript, Ajax | 1 | 23.01.2010 11:35 |
Переход от цикла к циклу не выходя из цикла (без multithreading) | Qousio | Общие вопросы C/C++ | 2 | 16.05.2009 09:27 |
Столкновение объектов | [Smarik] | Gamedev - cоздание игр: Unity, OpenGL, DirectX | 3 | 27.09.2008 16:54 |
Копирование и преобразование объектов | joker | Общие вопросы Delphi | 1 | 23.03.2008 14:47 |
Мерцание объектов | Chaos-Delta | Мультимедиа в Delphi | 4 | 02.07.2007 13:59 |