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

Ускорение проги потоками - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ С клавиатуры вводятся массив целых чисел. Проверить наблюдается ли в массиве чередование положительных и отрицательных элементов http://www.cyberforum.ru/cpp-beginners/thread1081491.html
С клавиатуры вводятся массив целых чисел. Проверить наблюдается ли в массиве чередование положительных и отрицательных элементов. #include <stdio.h> int main() { const int N=9; int arr; int i,b=0;
C++ Вывести long double число без перевода в double Надо вывести long double число без перевода в double. Пишу: printf("%Lf",S); и выводится неверно. Компилятор -- MinGW, та же фишка на VS работала. Что же делать? http://www.cyberforum.ru/cpp-beginners/thread1081488.html
C++ Как получать данные от клавиатуры без фокуса?
Если окно не в фокусе, возможно, даже свернуто, как можно получать данные о вводе с клавиатуры или мышки? Нужно для того, чтобы после нажатия ctrl+c, программа разворачивалась и делала, что нужно, с буфером. Даже если это можно сделать как-то иначе (например, есть листенер для изменения буфера или что-то подобное), все равно интересует получение данных ввода без фокуса.
Вывести анкетные данные учащихся интересующей вас группы (вводится с клавиатуры), имеющих оценки ниже C++
Необходимо Вывести анкетные данные учащихся интересующей вас группы (вводится с клавиатуры), имеющих оценки ниже. Почему то не выполняется условие оператора if. Не могу понять в чем дело #include "stdafx.h" #include <iostream> #include <conio.h> #include <iomanip> using namespace std; // определяем структуру struct Spisok
C++ Задача на нахождение площади треугольника http://www.cyberforum.ru/cpp-beginners/thread1081451.html
Условие: Даны действительные числа a, b, c, d. Найти площадь шестиугольника, изображенного на рис. 4.1. Определить функцию вычисления площади треугольника по трем его сторонами, заданными действительными числами. Если эти числа не позволяют по- строить треугольник, то результатом работы функции должно быть значение -1. Рисунок Проблема: Как ограничить пример: Cделать ввод сторон которые...
C++ Передать в неуправляемую функцию указатель на указатель Неуправляемая функция типа FUNC(int ** r); Делаю так fixed (int* ptr = arr) { FUNC((int **)ptr); и так FUNC(ptr); } подробнее

Показать сообщение отдельно
ninja2
230 / 186 / 7
Регистрация: 26.09.2012
Сообщений: 2,018
Завершенные тесты: 1

Ускорение проги потоками - C++

25.01.2014, 22:54. Просмотров 495. Ответов 12
Метки (Все метки)

Здорова господа!

Только что у меня прога глючила и вылетала я от не заметил она именно в дебаг режиме вылетала и медленно работала, а в релиз все норм, от когда она медлено начала работать, я от подумал, а неплохо было бы на потоки разбить задачи и что б они не по порядку выполнялись, а параллельно. Прога парсер html, щас вроде исправил в релиз переключил все заработало. Ну все рамно мне нужно с потоками ознакомится, я с потоками не знакомился вообще, но думаю они просто работают, допустим у нас есть массив из 100 элементов мы его делим на два создаем два потока и уже в циклах вычисляем параллельно по 50 элементов и заметно ускоряемся. Думаю писать для инета различных роботов поисковых, спам-ботов, сканеры и всякие проги по продвижению и рекламме проектов, так от все в одном потоке делать ну это фигня, очень все будет долго делаться, даже простой поисковый робот который будет набивать базу mail-лов нужно его сутками не выключать, потому что база урлов непосещенных будет расти очень быстро, а каждый урл будет обрабатываться в одном потоке, это фигня.

Мб. кто скинет пример работы двух потоков. Я от простейшую задачку приведу на умножение на 2 каждого элемента, у нас есть массив mas из 100 элементов и нужно каждый элемент умножить на 2
мы можем все это в одном цикле сделать отак например:
C++
1
2
3
4
for(int i=0;i<100;i++)
{
mas[i]=mas[i]*2;
}
но мы можем и в два цикла это все посчитать отак:
C++
1
2
3
4
5
6
7
8
for(int i=0;i<50;i++)
{
mas[i]=mas[i]*2;
}
for(int i=50;i<100;i++)
{
mas[i]=mas[i]*2;
}
но это фигня оно последовательно считает, в общем нужно как то открыть два потока и параллельно выполнить эти циклы.

Кто может это сделать?! Хелп помогите новичку!!!

Добавлено через 48 минут
Чо никто потоки не знает?

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