The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  ВХОД  слежка  RSS
"глобальные переменные и процессы?"
Вариант для распечатки Архивированная нить - только для чтения! 
Пред. тема | След. тема 
Форумы Программирование под UNIX (Public)
Изначальное сообщение [Проследить за развитием треда]

"глобальные переменные и процессы?"
Сообщение от dek emailИскать по авторуВ закладки on 12-Мрт-03, 13:16  (MSK)
Имеется глобальный массив. Запускаю функцию в отдельном процессе, в ней изменяю некоторые значения в массиве, после выхода из функции оказывается, что значения в массиве остались прежними. Действительно ли функция,запущенная как отдельный процесс, не может изменить глобальные переменные?
  Рекомендовать в FAQ | Cообщить модератору | Наверх

 Оглавление

Индекс форумов | Темы | Пред. тема | След. тема
Сообщения по теме

1. "RE: глобальные переменные и процессы?"
Сообщение от NL Искать по авторуВ закладки on 12-Мрт-03, 13:53  (MSK)
>Имеется глобальный массив. Запускаю функцию в отдельном процессе, в ней изменяю некоторые
>значения в массиве, после выхода из функции оказывается, что значения в
>массиве остались прежними. Действительно ли функция,запущенная как отдельный процесс, не может
>изменить глобальные переменные?

а как ты создаешь процессы ?

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

если с помощью pthread_create(), то скорее всего где-то напортачил. было бы хорошо посмотреть код

  Рекомендовать в FAQ | Cообщить модератору | Наверх

2. "RE: глобальные переменные и процессы?"
Сообщение от XMan Искать по авторуВ закладки on 12-Мрт-03, 19:01  (MSK)
Кажись, в случае fork() можно пользовать динамический массив. В родителе выделил памяти и сделал потомка. Потомок что-то меняет и в родителе эти изменения видны. Впрочем, как и в других потомках.
  Рекомендовать в FAQ | Cообщить модератору | Наверх

4. "RE: глобальные переменные и процессы?"
Сообщение от NL Искать по авторуВ закладки on 13-Мрт-03, 11:42  (MSK)
в случае fork() такого быть не может.
  Рекомендовать в FAQ | Cообщить модератору | Наверх

5. "RE: глобальные переменные и процессы?"
Сообщение от XMan Искать по авторуВ закладки on 13-Мрт-03, 14:57  (MSK)
Хм... Действительно. Хотя адрес один и тот же.

PS. Все забыл с этой работой... Блин...

  Рекомендовать в FAQ | Cообщить модератору | Наверх

3. "глобальные переменные и процессы?"
Сообщение от dek emailИскать по авторуВ закладки on 13-Мрт-03, 11:18  (MSK)
Вообще-то у меня как раз динамический массив и процесс создаю с помощью fork(). Спасибо за совет - попробую  pthread_create().


  Рекомендовать в FAQ | Cообщить модератору | Наверх


Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Пожалуйста, прежде чем написать сообщение, ознакомьтесь с данными рекомендациями.




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру