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

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

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

Потоки и процессы - C++

24.11.2013, 00:41. Просмотров 487. Ответов 3
Метки нет (Все метки)

Вопрос общего плана.
Использую программу, выполняющую большой объем вычислений и рисование в файл. Делаю распараллеливание в виде одновременно работающих нескольких процессов. Если вместо нескольких обычных процессов использовать один многопоточный, увеличится ли скорость выполнения программы и если да, то насколько сильно.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.11.2013, 00:41     Потоки и процессы
Посмотрите здесь:

Потоки и процессы - C++
Процесс А инициализирует массив случайными значениями и записывает их в файл, а затем запускает процесс Б в командной строке передается имя...

Процессы и потоки. С++ - C++
Помогите выполнить задание, пожалуйста: Процесс/поток генерирует в файл заданное при его запуске количество псевдослучайных целых чисел...

Процессы и потоки - C++
Здравствуйте, КиберФорумчане!) Начал разбираться с процессами и потоками. Представление об этом небольшое, потому сразу хотелось бы...

Процессы и потоки (функция GetProcess) - C++
вот код навороченого диспетчера процессов, OpenThread выдаёт ошибку , почему ? #include "stdafx.h" #include <cstdlib> #include...

Как на С реализовати процессы и потоки?, Как на С реализовати процессы и потоки? - C++
Здравствуйте! Мне нужно написать на С программу под Dos с потоком не знаю как это сделать. Подскажите пожалуйста.

процессы - C++
всем привет подскажите как создать процесс по имени например explorer.exe если можно то через system(...);

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Tulosba
:)
Эксперт С++
4393 / 3236 / 297
Регистрация: 19.02.2013
Сообщений: 9,045
24.11.2013, 10:19     Потоки и процессы #2
Dmitry74, чтобы узнать изменится ли и на сколько, нужно сделать и замерить. По большому счету, вся разница в том, что потоки имеют общее адресное пространство, а процессы нет. Т.о. для синхронизации проще и эффективнее использовать один процесс. Еще стоит учесть время запуска, для процессов должно быть больше, чем для потоков. Имхо. Надо замерять все равно.
Dmitry74
0 / 0 / 0
Регистрация: 04.10.2013
Сообщений: 10
24.11.2013, 15:51  [ТС]     Потоки и процессы #3
А имеет ли смысл разбивать программу на большее количество потоков/процессов(чисто для вычислений), чем число имеющихся ядер в процессоре?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
24.11.2013, 17:12     Потоки и процессы
Еще ссылки по теме:

Процессы в c++ - C++
Здравствуйте ребят. Есть вот задание "Создать программу, порождающую поток, который копирует файлы. Получить информацию о текущем...

С++ процессы - C++
Здравствуйте,нужна помощь:нужно создать процесс по схеме(Пример:1|1.1|1.1.1|1.1.2|1.2|2|2.2| и так далее.Расшифровка:Начинается работа...

Распараллелить процессы - C++
доброго вечера, прошу помощи, дали задание распараллелить процессы, что бы уменьшить время выполнения программы, я в программировании...

Разветвляющийся процессы - C++
1. Составьте программу, которая по трем введенным вами числам определит, могут ли эти числа быть длинами сторон треугольника, и если да, то...

Итерационные процессы - C++
Нужно написать программу на С++ по данной формуле. Перелопатил уже кучу всего. Но ничего полезного найти не могу. Помогите. Заранее спасибо!

MPI процессы - C++
пусть n-количество процессов. процесс с номером 0 запрашивает у пользователя элементы квадратной матрицы размерности n и рассылает их всем...


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

Или воспользуйтесь поиском по форуму:
OhMyGodSoLong
~ Эврика! ~
1243 / 992 / 42
Регистрация: 24.07.2012
Сообщений: 2,002
24.11.2013, 17:12     Потоки и процессы #4
Цитата Сообщение от Dmitry74 Посмотреть сообщение
А имеет ли смысл разбивать программу на большее количество потоков/процессов(чисто для вычислений), чем число имеющихся ядер в процессоре?
It depends. С чисто вычислительной точки зрения — нет, только лишние потери времени на переключение контекста. Идеальный вариант: количество физических потоков исполнения (количество ядер; чуть больше, если есть hyper-threading или аналоги) + 1 (один поток висит и ждёт IO-операций с железом, памятью и т. п., остальные усиленно считают).

С точки зрения кода — может и имеет, если вычисления удобно и красиво разбиваются на N независимых потоков. Даже если N больше, чем доступное количество ядер, то в таком случае имеет смысл разбить всё на потоки и с помощью worker-threads отобразить эти N потоков на M физических потоков.
Yandex
Объявления
24.11.2013, 17:12     Потоки и процессы
Ответ Создать тему
Опции темы

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