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

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

Восстановить пароль Регистрация
Другие темы раздела
C++ Структуры. Предшествует ли день n1 дню n2 в диапазоне одного и того же года? http://www.cyberforum.ru/cpp-beginners/thread971078.html
Как сделать подобную структуру? Поля: число, месяц,год и переменные n1 и n2. Предшествует ли день n1 дню n2 в диапазоне одного и того же года.
C++ Как пользоваться профайлером Visual C++ 6.0 ? Кто может подсказать, как в профайлере глянуть время выполнения программы. Жму Profile... выбираю Function Timing, выдает такое Program Statistics ------------------ Command line at 2013 Oct 07 17:12: "C:\ASV\Testing\Debug\Testing" Total time: 1904,922 millisecond http://www.cyberforum.ru/cpp-beginners/thread971076.html
решение бесконечных рядом на с++ через цикл C++
1.x-(x^2/2)+(x^3/3)-... (|x|<1) 2 и 3
C++ Отмена коммита в GitHub
Не нашел ветки по github, поэтому спрашиваю здесь Создал коммит и затем мне понадобилось его отменить. Для этого перешел на другую версию: git checkout Все нормально перешло, но теперь при запуске гитхаба появляется ошибка как на первом скриншоте, а при попытке перехода на ветку master - ошибка как на втором скриншоте
C++ использовать в программе оператор цикла http://www.cyberforum.ru/cpp-beginners/thread971047.html
использовать в программе оператор цикла. y=(\prod_{1}^{3})(\sum_{1}^{3}(k+j)/{j}^{2})
C++ использовать в программах операторы цикла FOR, WHILE, DO WHILE использовать в программах операторы цикла FOR, WHILE, DO WHILE. y=m((k^2)*(\prod_{1}^{3})(j+d)+ 1/(\sum_{1}^{4})(i+5)) подробнее

Показать сообщение отдельно
Winx64
0 / 0 / 0
Регистрация: 22.03.2013
Сообщений: 15
07.10.2013, 14:30     Многопоточность в Windows
Добрый день.
Помогите разобраться, в чем проблема. Уже 2 дня ломаю голову и ничего не получается. При компиляции выдается такая вот ошибка:

\main.cpp|29|error: too few arguments to function 'unsigned int Client(void*)'|
\main.cpp|71|error: at this point in file|

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
#include <iostream>
#include <fstream>
#include <queue>
#include <vector>
#include <ctime>
#include <windows.h>
#include <process.h>
 
using namespace std;
 
 
typedef struct tagTDATA
{
     BYTE cPriority; //приоритет запроса 0 – 255 (0 – наивысший приоритет)
     DWORD dwTicks; //время формирования запроса в системных тиках
     DWORD dwClientId; //уникальный идентификатор клиента
     char Data[255]; //абстрактные данные
     bool operator > (tagTDATA ob){return cPriority > ob.cPriority;}
} TDATA, *PTDATA;
 
priority_queue<PTDATA, vector<PTDATA>, greater<PTDATA> > my_queue;
 
DWORD ID_Client = 1;
 
CRITICAL_SECTION cs;
 
HANDLE hEvent_client;
 
unsigned _stdcall Client(void*)
{
    DWORD dw = WaitForSingleObject(hEvent_client, INFINITE);
    switch(dw)
    {
        case WAIT_OBJECT_0:
            cout<<"Process good"<<endl;
            break;
 
        case WAIT_FAILED:
            cout<<"Ne pravilnuy  vuzov funkcii."<<endl;
            break;
    }
    DWORD ticks = GetTickCount();
    PTDATA Zapros_clienta = new TDATA;
 
    Zapros_clienta->cPriority = rand() % (255 - 1);
    LeaveCriticalSection(&cs);
    Zapros_clienta->dwClientId = ID_Client++;
    cout<<"Vvedite vushi dannue! \n";
    cin>>Zapros_clienta->Data;
    Zapros_clienta->dwTicks = GetTickCount() - ticks;
 
    EnterCriticalSection(&cs);
    my_queue.push(Zapros_clienta);
    cout<<"Zapisb v ochered "<<endl;
    cout<<"Priority = "<<(int)Zapros_clienta->cPriority<<endl;
    LeaveCriticalSection(&cs);
 
    SetEvent(hEvent_client);
}
class Terminal
{
 
public:
    friend unsigned _stdcall Client(void*);
    void RunThread();
};
 
void Terminal::RunThread()
{
    HANDLE my_thread;
    my_thread = (HANDLE)_beginthreadex(NULL,0,Client(),0,NULL);
}
//unsigned WINAPI Server(void*)
void Server()
{
    ofstream in;
    in.open("Log.txt");
    if(!in)
        cout<<"Log file open error\n";
    in << "cPriority" <<'\t'
        << "dwClientId" << '\t'
        << "dwTicks" << '\t'<< '\t'
        << "Data" <<'\n';
    while(!my_queue.empty())
    {
        in << (int)my_queue.top()->cPriority <<'\t'<<'\t'
        << my_queue.top()->dwClientId << '\t'<<'\t'
        << my_queue.top()->dwTicks << '\t'<<'\t'
        << my_queue.top()->Data <<'\n';
 
        my_queue.pop();
        if(my_queue.empty())
            cout<<"Log File write."<<endl;
        else
             cout<<"Log File not write."<<endl;
    }
}
 
int main()
{
    srand(time(NULL));
    InitializeCriticalSection(&cs);
    hEvent_client = CreateEvent(NULL,TRUE,TRUE,NULL);
 
    return 0;
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 04:29. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru