Результаты поиска по запросу "copy-on-write"

2 ответа

Как копирование при записи работает в fork ()?

Я хочу знать, как происходит копирование при записи в fork ().Предполагая, что у нас есть процесс A, который имеет динамический массив int:

6 ответов

Как реализовать Copy-on-Write?

Я хочу реализовать функцию копирования при записи в моем собственном классе C ++ String, и мне интересно, как ... Я пытался реализовать некоторые варианты, но все они оказались очень неэффективными. Спасибо вам, ребята :-)

1 ответ

Надеюсь это поможет!

даю библиотеку игрового движка на C ++. Некоторое время назад я использовал Qt для создания приложения и был довольно увлечен его использованиемНеявный обмен [http://doc.trolltech.com/latest/implicit-sharing.html], Мне интересно, может ...

ТОП публикаций

1 ответ

Как копирование при записи работает в fork-exec? [закрыто]

Процесс

2 ответа

Как копирование при записи в fork () обрабатывает несколько форков?

Согласно википедии (что может быть не так) Когда выполняется системный вызов fork (), создается копия всех страниц, соответствующих родительскому процессу, загружаемая ОС в отдельную область памяти для дочернего процесса. Но это не нужно в ...

8 ответов

Ниже прекрасно работает с CopyOnWriteArrayList

учаю исключение при попытке удалить элементы из CopyOnWriteArrayList с помощью итератора. Я заметил, что это задокументировано Операции изменения элементов на самих итераторах (удаление, установка и добавление) не поддерживаются. Эти методы ...

1 ответ

Получить поведение копирования (при записи) для fork () ing без fork ()

У меня большой буфер:

2 ответа

Совместно используемая память и копирование при записи или rvalue ссылок и перемещения семантики?

Является ли совместная реализация памяти / копии при записи для обычных контейнеров (например, из контейнеров Qt) замененной в C ++ 11 семантикой перемещения и ссылками на rvalue? Где один провалится, а другой преуспеет? Или они дополняют друг ...

2 ответа

@Pink Обратите внимание, что вы можете сменить принятый ответ на тот, который, по вашему мнению, лучше всего отвечает на ваш вопрос - определенно несправедливо менять свой знак принятия на более поздний ответ, если вы считаете, что он лучше :)

2 ответа

Адрес является «тем же», поскольку каждый процесс имеет свое собственное виртуальное адресное пространство, и переменная, как правило, загружается в одно и то же место. Обратите внимание, что это не физический адрес в памяти. Также обратите внимание, что существуют схемы, которые намеренно рандомизируют местоположение, в которое загружается процесс, чтобы сделать его более трудным для атаки / взлома процесса. В этом случае адрес будет другим.

ой код int main() { pid_t pid; int y = 3; if ( (pid = fork()) <0 ) return -1;; if( pid == 0 ) /* child */ { printf(" before: %d %p\n", y, &y ); y *= 10; printf("after: %d %p\n", y, &y ); } else /* father */ { sleep(1); printf("father: %d %p\n" , ...