Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 5.00/15: Рейтинг темы: голосов - 15, средняя оценка - 5.00
 Аватар для Satansoft
20 / 16 / 7
Регистрация: 27.02.2012
Сообщений: 742

Параллельные вычисления средствами С++ 11

02.11.2014, 11:28. Показов 3353. Ответов 20
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Поиск файлов в каталоге реализован в ф-ии direct, потоки управляют из мейна. Ф-ю direct надо разбить на несколько потоков, вывод результата так же отдельным потоком. Необходимо её разбить на несколько функций и предоставить отдельному потоку её вычисление или можно иначе? Более чем на 4 сегмента разбиения не вижу:

C++
1
2
3
4
 if ((hFile = _findfirst ( "C:\\wmpi\\include\\*.*", &file )) == -1L)
    {
        cerr << "Не удалось открыть директорию" << endl;
    }
C++
1
2
3
4
5
6
7
//В цикле обходим файлы директории
        do
        {
            cout << file.name << " = " << file.size/1024 << " Kb " << endl;
            sizedir += file.size;
        }
        while ( _findnext (hFile, &file) == 0 );
C++
1
2
//Закрываем директорию
        _findclose (hFile);
C++
1
 cout << "Общий размер директории = " << sizedir/1024 << " Kb " << endl;


C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
#include <io.h>
#include <iostream>
#include <conio.h>
#include <thread>
 
using namespace std;
 
 
void direct(long int sizedir, struct _finddata_t file, intptr_t hFile){
 
 //Открываем текущую директорию
    if ((hFile = _findfirst ( "C:\\wmpi\\include\\*.*", &file )) == -1L)
    {
        cerr << "Не удалось открыть директорию" << endl;
    }
 
        //В цикле обходим файлы директории
        do
        {
            cout << file.name << " = " << file.size/1024 << " Kb " << endl;
            sizedir += file.size;
        }
        while ( _findnext (hFile, &file) == 0 );
 
        //Закрываем директорию
        _findclose (hFile);
       cout << "Общий размер директории = " << sizedir/1024 << " Kb " << endl;
}
 
 
int main (void)
{
    long int sizedir = 0;
 
    struct _finddata_t file;
    intptr_t hFile;
 
    setlocale (LC_ALL, "RUSSIAN");
 
    static const int num_threads = 1;
    thread thr[num_threads];
 
    for (int i = 0; i < num_threads; ++i) {
            thr[i] = thread(direct, 0, file, hFile);}
 
    for (int i = 0; i < num_threads; ++i) {
            thr[i].join();}
 
    _getch();
    return 0;
}
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
02.11.2014, 11:28
Ответы с готовыми решениями:

Параллельные вычисления
Здравствуйте, не знаю в какой ветке постить, решил в этой. Хочу использовать эти технологии OpenMP и\или GPGPU(OpenCL) но практической...

Параллельные вычисления.
Собственно взял себе тему на курсовой, решил попробовать реализовать это с помощью средств Java. Не подскажите какие книги мне могут помочь...

Параллельные вычисления
Здравствуйте! Нужно перебрать целые числа от M до N и найти первое попавшееся число, подходящее под условие. Это просто решить циклом от M...

20
 Аватар для Satansoft
20 / 16 / 7
Регистрация: 27.02.2012
Сообщений: 742
02.11.2014, 19:05  [ТС]
Студворк — интернет-сервис помощи студентам
Обязательным условием является только вывод результата отдельным потоком. Что из себя представляет конвеер и как это в коде?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
02.11.2014, 19:05

Параллельные вычисления
Прошу помочь решить следующую задачу(параллельное программирование) Дана последовательность чисел. Найти сумму элементов этой...

Параллельные вычисления
Здравствуйте. Пишу курсовую,пришлось много что узнавать нового,так как параллельное программирование не изучали вообще. Написал прогу...

Параллельные вычисления
Имеется код, который проверяет число j на простоту: using System; using System.Collections.Generic; using System.Linq; using...

Параллельные вычисления
Нужно использовать параллельные вычисления, при решении данной задачи, пробовал распараллелить циклы, но выдавало не верный результат, код...

Параллельные вычисления в Excel
В одной книге Excel я написал, процедуру, которая довольно долго считает (методом перебора исходя из первой случайной итерации ищет...


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

Или воспользуйтесь поиском по форуму:
21
Ответ Создать тему
Новые блоги и статьи
Книги по геймдизайну, левел-дизайну, игровым механикам и проектированию игрового опыта
8Observer8 08.11.2026
Содержание блога | English Version 1. 2003 - 06 - Designing Virtual Worlds (1st Edition) Автор: Richard A. Bartle | Объем: 768 стр. Ссылки: Amazon . . .
Родители токсичные абьюзеры по отношению к своим детям ругают их оскорбляют не любят
zorxor 08.11.2026
Жить в атмосфере постоянных оскорблений, критики и холодности со стороны родителей — это тяжелое и болезненное испытание, которое оставляет глубокие эмоциональные раны. Токсичное и абьюзивное. . .
Как только я захожу к себе в свою комнату я сразу же с себя снимаю свои трусы. Ответ от Джемени ИИ.
zorxor 08.11.2026
Джемени, как только я захожу к себе в свою комнату я сразу же с себя снимаю свои трусы. Многие люди, возвращаясь домой, сразу переодеваются в максимально свободную одежду или вовсе предпочитают. . .
Паттерн очереди действий/команд (Action / Command Queue). Система очереди действий и кат-сцен с SDL3 Callbacks, cglm и OpenGL
8Observer8 07.11.2026
Содержание блога | English Version Руководство для начинающих по реализации паттерна очереди действий/ команд (Action / Command Queue) на C++ (C++20) с использованием официального SDL3 Callbacks. . .
Проверка полного ФИО в типовом справочнике
Maks 07.11.2026
Решение реализовано в конфигурации КА2, на примере справочника "КонтактныеЛицаПартнеров". Задача: Запрет инициалов. Не допускаеть использование сокращений вида "И. И. ", "И. И. ", "И И" и. . .
Про "Windows must die!"
kumehtar 04.11.2026
Знаете, чет накатило. . . . Когда-то это было почти боевым кличем: мол, нормальный человек сидит на DOS, OS/ 2 или Linux, а вот это вот - Must Die. А теперь человек произносит «мастдай» с усмешкой - и. . .
Красочные поля с номером страницы svg+background-image
russiannick 04.11.2026
Красочные поля с номером страницы не менее важны чем в эпоху бумажных книг. Посему спешу представить почтеннейшей публике этот важный инструмент который эти поля и формирует. В процессе разработки. . .
Вступаем в новую фазу генерации favicons, векторную.
russiannick 02.11.2026
Теперь нет нужды скрывать что используется простой svg. Исходный код изображения помещаем в поле и жмем кнопку. Исходник преобразуется в вид корректный для помещения в favicon или в url(). Нажатие. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru