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

Мультипоточность (очень просто) - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Русские буквы http://www.cyberforum.ru/cpp-beginners/thread837692.html
Суть такая: надо записать в файл название модуля. Для модулей с английским названием и путём до них он пишет нормально, а на русском стопорится. outfile.write(&szModName, lstrlenW(&szModName)); Добавлено через 28 минут В коде _tprintf( TEXT("%s\n"), szModName); std::wofstream outfile; outfile.open("sdjrfhjkrwehtkgbvngfdkthgdkv",...
C++ Нарисовать в окне лист бумаги с текстом Есть функция, рисующая текст на канве, эта функция принимает границы абзаца и ординату первой строки, автоматически разбивает текст на строки и выводит его на экран, смещая каждую следующую строку вниз. Сам текст меня устраивает. Но текст выводится просто в окно, а надо, чтоб он был на листе, как в Microsoft Word. Как это под виндой сделать? http://www.cyberforum.ru/cpp-beginners/thread837689.html
C++ Подскажите в чем ошибка
Нужно создать файл 5.дат и записать в него информацию с структуры аерофлот. Создаю я вот так: #include <iostream> #include <stdio.h> #include <iomanip> #include <cstdlib> #define STRLEN 20 using namespace std; #pragma pack (1)
C++ 5. Написать функцию, которая вычисляет сопротивление цепи, состоящей из двух резисторов
#include "stdafx.h" #include <iostream> #include <conio.h> using namespace std; int resistance(float r1, float r2, float rez) { char c; if ((r1<0)||(r2<0)) return -1; cout<<"Series circuits- enter 'S', Parallel circuits- enter 'P'="; cin>>c;
C++ В две строчки записать две цифры, а потом по закрытии программы и повторном открытии прочитать каждое число в отдельную переменную? http://www.cyberforum.ru/cpp-beginners/thread837682.html
Как в с++ в две строчки записать две цифры, а потом по закрытии программы и повторном открытии прочитать каждое число в отдельную переменную?
C++ Определение момента пересечения изображения мышью (прозрачность) Есть некоторое изображение, у которого есть альфа-канал, используемый для фона. Само изображение ни разу не прозрачное. Нужно определить, когда пользователь пересечет это изображение мышью (задник не считается). Я, конечно же, сначала определю момент пересечения мыши и прямоугольника, заключающего все изображение целиком, но как делать дальше? А если без альфа-канала, а просто использовать один... подробнее

Показать сообщение отдельно
FireProoF
17 / 17 / 1
Регистрация: 28.10.2012
Сообщений: 190
14.04.2013, 18:17     Мультипоточность (очень просто)
Здравствуйте! Подскажите пожалуйста, почему когда я делая свою "программу" многопоточной в 3 потока(один основной и два дочерних), скорость выполнения увеличивается?
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
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
// 1.cpp: определяет точку входа для консольного приложения.
//
 
#include "stdafx.h"
#include <iostream>
#include <windows.h>
#include <tchar.h>
#include <strsafe.h>
#include "time.h"
using namespace std;
 
#define MAX_THREADS 3
#define BUF_SIZE 255
 
 
DWORD WINAPI fn1( LPVOID lpParam );
DWORD WINAPI fn2( LPVOID lpParam );
 
void Fn1();
void Fn2();
 
int _tmain(int argc, _TCHAR* argv[])
{
 
    DWORD   dwThreadIdArray[MAX_THREADS];
    HANDLE  hThreadArray[MAX_THREADS]; 
    
    int chs;
    cin>>chs;
 
    
 
 
    switch (chs)
    {
    case 1:
        {
            long    i = 6000000L;
            clock_t start, finish;
            double  duration;
 
            start = clock();
 
            hThreadArray[0] = CreateThread( 
                NULL,                   // default security attributes
                0,                      // use default stack size  
                fn1,       // thread function name
                NULL,          // argument to thread function 
                0,                      // use default creation flags 
                &dwThreadIdArray[0]);   // returns the thread identifier 
 
            hThreadArray[1] = CreateThread( 
                NULL,                   // default security attributes
                0,                      // use default stack size  
                fn2,       // thread function name
                NULL,          // argument to thread function 
                0,                      // use default creation flags 
                &dwThreadIdArray[1]);   // returns the thread identifier 
 
            WaitForMultipleObjects(2, hThreadArray, TRUE, INFINITE);
            
            finish = clock();
            duration = (double)(finish - start) / CLOCKS_PER_SEC;
            cout<<endl<<"This is time "<<duration;
            break;
 
        }
    case 2:
        {
            long    i = 6000000L;
            clock_t start, finish;
            double  duration;
 
            start = clock();
 
            Fn1();
            Fn2();
 
            finish = clock();
            duration = (double)(finish - start) / CLOCKS_PER_SEC;
            cout<<endl<<"This is time "<<duration;
            break;
 
        }
        
    }
 
    
 
    system("pause");
    return 0;
}
 
DWORD WINAPI fn1( LPVOID lpParam )
{
    int x=0;
    for (int i=0;i<10000000;i++)
    {
        x*=i;
    }
    cout<<endl<<"fn1 FINISHED!"<<endl;
    return 0;
}
 
DWORD WINAPI fn2( LPVOID lpParam )
{
    int x=0;
    for (int i=0;i<10000000;i++)
    {
        x*=i;
    }
    cout<<endl<<"fn2 FINISHED!"<<endl;
    return NULL;
}
 
void Fn1()
{
    int x=0;
    for (int i=0;i<10000000;i++)
    {
        x*=i;
    }
    cout<<endl<<"Fn1 finished!"<<endl;
    return;
}
 
void Fn2()
{
    int x=0;
    for (int i=0;i<10000000;i++)
    {
        x*=i;
    }
    cout<<endl<<"Fn2 finished!"<<endl;
    return;
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 17:31. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru