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

Многопоточность - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Заполнить матрицу случайными числами. На главной диагонали разместить суммы элементов, которые лежат на той же строке и том же столбце http://www.cyberforum.ru/cpp-beginners/thread861198.html
Заполнить матрицу случайными числами. На главной диагонали разместить суммы элементов, которые лежат на той же строке и том же столбце. первую часть сделал, до второй не могу допереть, можете помочь? #include <iostream> #include <iomanip> #include <time.h> #include <windows.h> #include <stdlib.h> #include <conio.h> using namespace std;
C++ Класс матриц есть рабочий класс матриц. Все работает отлично, но надо сделать функцию или перегрузить оператор >> для считывания матрицы из файла. Причем надо работать с потоками.(в main использую fstream). Что только не перепробовал, ничего не выходит. Надеюсь на вашу помощь. class Matrix { public: int str; // Количество строк int slb; // Количество столбцов Matrix(int dim1, int dim2);... http://www.cyberforum.ru/cpp-beginners/thread861163.html
Подключение заголовочных файлов C++
Здравствуйте! Подскажите, можно ли сделать так, чтобы при создании нового консольного проекта, наиболее часто используемые файлы (например, <iostream> и т.п.) подключались автоматически? Если да, то как?
Текстовые файлы, посчитать матрицы и вывести в текстовые файлы C++
Доброго дня суток. Прошу у вас помощи с заданием:) В текстовом файле записаны матрицы A(4x4), B(3x3), C(5x5). Прибавить к диагональным элементам минимальный по модулю ненулевой элемент массива. Полученные данные вывести в отдельных текстовых файлах. Для ввода, вывода и сложения к диагональным элементам числа использовать функции, а также использовать функцию для определения указанного...
C++ Списки. Смоделировать работу отдела выдачи мебельной фабрики http://www.cyberforum.ru/cpp-beginners/thread861112.html
Добрый день. У меня такой вопрос. Есть задание что то типа "Смоделировать работу отдела выдачи мебельной фабрики" . Это задание на списки. Мне нужно как то хранить название мебели и количество в файле. Напиример " кухонный стул 5 ". Такой вопрос я незнаю как определить конец названия и считать его количество . Можно в принципе испольщовать рзделитель но не хотелось бы. можно как то читать,...
C++ Алгоритмы поиска. Подскажите, в чем суть алгоритма? нужно написать алгоритм поиска прямым методом (С.Чарас), а я понятия не имею, что это за метод и в и-нэте найти не могу( подробнее

Показать сообщение отдельно
Убежденный
Системный программист
 Аватар для Убежденный
14470 / 6454 / 1020
Регистрация: 02.05.2013
Сообщений: 10,687
Завершенные тесты: 1
11.05.2013, 08:57     Многопоточность
Многопоточность - это использование в программе нескольких потоков.
Цели многопоточности могут быть разными:

1) Улучшение производительности.
Если вычислительную задачу можно разделить на независимые части, то имеет смысл
распределить эти части между несколькими потоками. Выигрыш может оказаться
многократным, хотя это зависит от множества факторов. Например, от того, как
потоки "обеспечены" физическими ядрами или процессорами, существует ли между
ними борьба за общие ресурсы и т.д. Параллельность - частный случай данного примера.
Когда все потоки выполняют один и тот же код, это и есть параллельность.
Хотя многопоточность вовсе не означает параллельность.

2) Сохранение времени отклика интерфейса пользователя.
Иногда бывает необходимо выполнить в программе длительную операцию.
Если делать это в том же потоке, который отвечает за интерфейс пользователя (GUI-поток),
программа теряет отзывчивость, начинает "подвисать", перестает реагировать на нажатия
кнопок и т.д. Чтобы этого не просиходило, все вычисления выносятся в отдельный рабочий
поток, а GUI-поток остается свободным.

Не по теме:

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



3) Реализация асинхронности.
Если существует длительная операция, результат которой не требуется немедленно,
можно поручить ее выполнение отдельному потоку. Результат выполнения запрашивается
позже, когда операция будет завершена. Эта схема широко используется, например, в
работе с оборудованием: поток запрашивает запись или чтение, устройство возвращает
статус "pending" (ожидайте), после чего поток может возвратиться к своим "делам".
Когда устройство завершает ввод-вывод, оно сигнализирует потоку о завершении.

4) Безопасность.
Многопоточность также можно использовать в целях безопасности, когда необходимо
отделить код с высокими полномочиями от кода, который пришел из недоверенной среды и
который необходимо запускать в контексте клиента, с низкими правами. Для этого
также может применяться создание отдельного потока.

5) Архитектура.
Многопоточность применяют и там, где необходимо сделать код более простым и
понятным для восприятия. Например, вместо одной длиннющей функции, которая вычисляет
дебет-кредит, обновляет компоненты системы и одновременно синхронизируется с удаленной
базой данных, можно сделать три изолированных друг от друга потока и поручить
каждому свою задачу.

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