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

Распараллелить с помощью критической секции - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ неправильно отображает файл в HEX режиме http://www.cyberforum.ru/cpp-beginners/thread937955.html
открываю файл. в файле записано "єЄєЄєЄєЄєЄєЄєЄє«" вывожу, получается File is opening for work! FFFFFFBA FFFFFFAA FFFFFFBA FFFFFFAA FFFFFFBA FFFFFFAA FFFFFFBA FFFFFFAA FFFFFFB A FFFFFFAA FFFFFFBA FFFFFFAA FFFFFFBA FFFFFFAA FFFFFFBA FFFFFFAB
C++ Не могу скомпилировать? Не могу скомпилировать программу. Каждый раз такая беда((( http://www.cyberforum.ru/cpp-beginners/thread937937.html
C++ как выглядят функции
как выглядят функции (просмотр списка в обратном направлении, поиск заданного элемента в прямом направлении , добавление элемента перед заданного)
C++ функции в классах
есть класс my_class, у него есть две функцииmy_class::X_definition(int k, long double t ) {... return x; }; my_class::Y_definition(int k, long double t ) {... return y; }; есть класс my_class2, в нем хочу сделать ф-цию my_class2::Lenght_definition, которая бы брала два созданных объекта класса (например my_class k1;my_class k2;) и делала бы так Lenght = sqrt(sqr(k1->X_definition -...
C++ reset(). Что это? http://www.cyberforum.ru/cpp-beginners/thread937917.html
Что такое reset()? TemplateVector (int nArraySize) { nSize = nArraySize; array = new T ; reset(); }
C++ Что делать с EOF Всем привет. Ввожу в Visual Studio 2012 вот такой код: #include <stdio.h> #include <conio.h> #define eof -1 int main() { long nc; nc = 0; printf("Make input>\n"); while(getchar() != eof) подробнее

Показать сообщение отдельно
eXtream
24 / 24 / 0
Регистрация: 10.03.2010
Сообщений: 161
15.08.2013, 18:24
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
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
// ThreadSort.cpp: определяет точку входа для консольного приложения.
//
 
#include "stdafx.h"
 
using namespace std;
 
unsigned __stdcall ThreadFunc(void*);
 
typedef struct ARRAYINFO{
    int *ptr; // указатель на массив
    int size; // размер массива
} *PARRAYINFO;
 
 
 
int _tmain(int argc, _TCHAR* argv[])
{
int *arr = NULL, *_arr = NULL, i = 0, j = 0, size_array = 0, _size = 0, num_threads = 0;
unsigned int err = 0;
HANDLE *threads = NULL;
PARRAYINFO ArgList = NULL;
 
    cout<<"Enter size of array: ";
    cin>>size_array;
    if(size_array < 0) return -1;
    cout<<"Enter number of threads: ";
    cin>>num_threads;
 
    arr = (int *)malloc(size_array*sizeof(int));
    if(arr == NULL){
        err = GetLastError();
        return -1;
    }
 
    threads = (HANDLE *)malloc(num_threads*sizeof(HANDLE));
    if(threads == NULL){
        err = GetLastError();
        free(arr);
        return -1;
    }
 
    for(i = 0; i < size_array; i++)
    {
        arr[i]=rand()%8+1;
        printf("%4d",arr[i]);
    }
 
    
    _size = size_array / num_threads;
    _arr = arr; 
    ArgList = (PARRAYINFO)new ARRAYINFO;
    ArgList->ptr = arr;
    ArgList->size = _size;
    i=0;
    do{ 
        threads[i] = (HANDLE)_beginthreadex(NULL, 0, &ThreadFunc, (void *)ArgList, CREATE_SUSPENDED, NULL);     
        i++;        
        if(i == num_threads-1) _size += size_array - _size*num_threads; // коректируем размер последнего массива
        _arr = (int *)((DWORD)_arr+_size);
 
        ArgList = (PARRAYINFO)new ARRAYINFO;
        ArgList->ptr = _arr;
        ArgList->size = _size;
    }while(i < num_threads);
 
    for(i = 0; i < num_threads; i++){
        ResumeThread(threads[i]);
    }
    WaitForMultipleObjects(num_threads, threads, true, INFINITE); 
    free(arr);
    free(threads);
    return 0;
}
 
unsigned __stdcall ThreadFunc(void* pArguments ){
PARRAYINFO pArrayInfo = (PARRAYINFO)pArguments;
// Здесь пишем алгоритм сортировки  
    return 0;
}
что-то вроде этого
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru