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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 17, средняя оценка - 4.82
Fedis
608 / 88 / 2
Регистрация: 08.07.2010
Сообщений: 1,893
#1

Потоки. - C++

11.07.2010, 12:37. Просмотров 2167. Ответов 2
Метки нет (Все метки)

Можете сказать что такое потоки и привести примеры на C++.
P.S не надо давать ссылку на википедию.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.07.2010, 12:37     Потоки.
Посмотрите здесь:

Потоки с++ C++
потоки.. C++
потоки C++
Потоки C++
Потоки C++
Потоки C++
C++ Потоки
Потоки C++
Потоки C++
C++ Потоки
C++ Потоки
C++ Потоки

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
HIMen
4121 / 1370 / 39
Регистрация: 12.04.2009
Сообщений: 2,346
11.07.2010, 12:43     Потоки. #2
Цитата Сообщение от i.pas Посмотреть сообщение
Можете сказать что такое потоки
Части программы, которые выполняются параллельно
Evg
Эксперт CАвтор FAQ
17381 / 5619 / 350
Регистрация: 30.03.2009
Сообщений: 15,398
Записей в блоге: 26
11.07.2010, 13:11     Потоки. #3
Чтобы нормально понять, что такое поток, надо хотя бы приблизительно понимать, как устроена работа современных многозадачных систем.

Вкратце примерно так. Каждая задача (процесс) работает в своём, так называемом, виртуальном пространстве памяти. Т.е. операционная система обеспечивает работу каждого процесса таким образом, как будто бы он исполняется один на машине. Процесс не имеет возможности залезть в память другого исполняемого процесса (на самом деле может через разделяемую память, но в данном месте это не важно).

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

Зачем это нужно? Допустим, у тебя есть две независимых вычислительных задачи. Самый простой искусственный вариант - есть два больших массива и нужно инкрементировать каждый элемент каждого массива. Эти две вещи можно сделать параллельно, поскольку они являются независимыми. В этом случае можно использовать поток. В основном процессе у тебя пойдёт инкрементация элементов первого массива, а в потоке - инкрементация элементов второго массива. Если на машине установлен один одноядерный процессор, то такой подход выигрыша в скорости не даст. Но если два процессора (или двухядерный процессор), то две жти операции будут исполняться параллельно, а потому, условно можно сказать, что всё это дело исполнится в два раза быстрее
Yandex
Объявления
11.07.2010, 13:11     Потоки.
Ответ Создать тему
Опции темы

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