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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
G1yyk
0 / 0 / 0
Регистрация: 27.01.2011
Сообщений: 9
#1

многопоточность, подскажите как. - C++

06.02.2011, 12:44. Просмотров 673. Ответов 2
Метки нет (Все метки)

Добрый день.

Подскажите как сделать многопоточное приложение с общим участком памяти(будет массив с данными).

Читаю про многопооточность и зашел в тупик, на сколько я понял - threads это копии родителя с общей памятью, fork это копии родителя с разделённой памятью. То есть многопоточность будет только с функционалом родительского процесса?


А как сделать, что программа делилась на два потока с разным функционалом и с общим участком памяти. Что бы один поток читал и писал в БД, а другой поток пораждал еще кучу потоков(уже с общим функционалом) и все потоки могли бы обращаться к общему массиву?

1 - основной поток для клиентов, 2 основной поток для БД, @ общий массив. 3-8 это потомки основхных процессов 1 и 2

.................@
......._____|_____
.......|.......................|
.......1.....................2
...__|__.............__|__
...|....|....|............|....|....|
..3...4...5..........6....7...8
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.02.2011, 12:44
Здравствуйте! Я подобрал для вас темы с ответами на вопрос многопоточность, подскажите как. (C++):

Как создать многопоточность - C++
В сети гуглил, но так банального ответа для себя не нашёл, как размногопоточить приложение, в delphi делал так function getnumberbux:...

Как реализовать многопоточность? - C++
Как я понимаю отдельный поток может выполняться вместе с основным если я ошибаюсь поправьте меня ! 1 поток #include <iostream> //...

Многопоточность на C++. Как реализовать? - C++
Здравствуйте! Имеется такая задача: Написать программу на С/С++, которая после запуска считает в отдельном потоке от 0 до 100, при этом...

Как правильно реализовывается многопоточность - C++
Здравствуйте! Стоит задача создать несколько потоков, которые будут выполнять какие-то действия. У Шлее (профессиональное...

C++ Как в многопоточность передать объект класса? - C++
Доброго времени суток! Подскажите пожалуйста одну вещь, у меня есть функция внутри класса и мне нужно передать её в мультипоточность. Вот...

Как реализовать многопоточность в консольном приложении С++ - C++
Добрый день уважаемые программисты и системные администраторы! Я начинающий программист на С++ и мне необходимо написать программу в...

2
slavich
12 / 12 / 1
Регистрация: 25.10.2009
Сообщений: 32
06.02.2011, 13:06 #2
Классический пример создания процесса:
C
1
2
3
4
5
6
pid = fork(); 
switch( pid ) { 
 -1:; // Ошибка 
0:;  // Дочерний процесс 
default:;  // Родительский процесс 
}
Создание потока:
C
1
int pthread_create(pthread_t *thread, pthread_attr_t *attr, void * (*start_routine)(void *), void *arg);
Для общего участка памяти используй функции:
C
1
2
3
#include <sys/shm.h> 
 int shmget(key_t key, size_t size, int flag); 
void *shmat(int shmid, const void *addr, int flag);
1
G1yyk
0 / 0 / 0
Регистрация: 27.01.2011
Сообщений: 9
06.02.2011, 13:47  [ТС] #3
Наверное понял.

В создании нити указываю процедуру для фхода и все благополучно разделяется один поток вуыполяняет процедуру соденения с БД, а в другой поток плодить еще нити для подключения клиентов.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
06.02.2011, 13:47
Привет! Вот еще темы с ответами:

Многопоточность - C++
Здравствуйте! Пожалуйста посоветуйте литературу или какие либо статьи для изучение многопоточных приложений где расписано все подробно....

Многопоточность в С++ - C++
Добрый день! Если я создам экземпляр класса в одном потоке и начну одновременно из нескольких других потоков обращаться тому...

Многопоточность - C++
При добавлении больше 10000 элементов в таблицу на форму форма зависает, как это исправить? (использую QT)

Многопоточность в C++ и C++11 - C++
как я понял, многопоточность появилась в С++11 cтандарте. Почитал что его вроде как visual studio не поддерживает(?) есть компилятор gcc,...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru