Форум программистов, компьютерный форум, киберфорум
C/C++: WinAPI
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.50/4: Рейтинг темы: голосов - 4, средняя оценка - 4.50
392 / 284 / 53
Регистрация: 26.12.2009
Сообщений: 874
1

Неувязка с потоками WinAPI

25.11.2011, 00:24. Показов 808. Ответов 1
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Есть два потока: один Увеличивает счетчик и выводит на экран, а другой считывает значение с клавиатуры, которое тоже должно появляться на экране. НО!!!!!!!!!!!!!!!
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
#include <iostream>
#include <windows.h>
 
using namespace std;
 
DWORD WINAPI one(LPVOID vpParam);
DWORD WINAPI two(LPVOID vpParam);
 
int first;
int second;
 
void print()
{
    HANDLE hCon = GetStdHandle(STD_OUTPUT_HANDLE);
    COORD cPos;
    cPos.X = 0;
    cPos.Y = 0;
    SetConsoleCursorPosition(hCon, cPos);
    cout << first << " " << second;
}
 
int main()
{
    DWORD qThreadID1;
    DWORD qThreadID2;
 
    HANDLE hThread1 = CreateThread(0, 0, one, &first, 0, &qThreadID1); 
    HANDLE hThread2 = CreateThread(0, 0, two, &second, 0, &qThreadID2);
 
    CloseHandle(hThread1);
    CloseHandle(hThread2);
}
 
DWORD WINAPI one(LPVOID vpParam)
{
    for(;;)
    {
        print();
        first++;
        Sleep(1000);
    }
    return 0;
}
 
DWORD WINAPI two(LPVOID vpParam)
{
    for(;;)
    {
        HANDLE hCon = GetStdHandle(STD_OUTPUT_HANDLE);
        COORD cPos;
        cPos.X = 0;
        cPos.Y = 2;
        SetConsoleCursorPosition(hCon, cPos);
        cout << "Enter second digit:";
        cin >> second;
    }
    
    return 0;
}
Добавлено через 1 минуту
даже так лучше:
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
#include <iostream>
#include <windows.h>
 
using namespace std;
 
DWORD WINAPI one(LPVOID vpParam);
 
int first;
int second;
 
void print()
{
    HANDLE hCon = GetStdHandle(STD_OUTPUT_HANDLE);
    COORD cPos;
    cPos.X = 0;
    cPos.Y = 0;
    SetConsoleCursorPosition(hCon, cPos);
    cout << first << " " << second;
}
 
int main()
{
    DWORD qThreadID1;
 
    HANDLE hThread1 = CreateThread(0, 0, one, &first, 0, &qThreadID1); 
    for(;;)
    {
        HANDLE hCon = GetStdHandle(STD_OUTPUT_HANDLE);
        COORD cPos;
        cPos.X = 0;
        cPos.Y = 2;
        SetConsoleCursorPosition(hCon, cPos);
        cout << "Enter second digit:";
        cin >> second;
    }
 
    CloseHandle(hThread1);
}
 
DWORD WINAPI one(LPVOID vpParam)
{
    for(;;)
    {
        print();
        first++;
        Sleep(1000);
    }
    return 0;
}
Добавлено через 6 минут
вот, в мейне должен крутиться цикл, где просят ввести значение, а через каждую секунду выводилось введенное и измененное, которое меняется в потоке также каждую секунду. Проблема с выводом
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
25.11.2011, 00:24
Ответы с готовыми решениями:

WinApi и работа с альтернативными файловыми потоками
Доброго времени суток. Пытаюсь разобраться с работой альтернативных файловых потоков в NTFS. Как...

Неувязка с циклами
При компиляции выдает 25 1. Как я понимаю пока index&lt;5 в переменную maybeNew(х) возвращается 1,...

empty() Неувязка
&lt;?php $array = file('C:\txt.txt'); // Если $array пустая, то выводим &quot;ОК&quot; if (empty($array)) { ...

Неувязка с запросом на добавление
Доброго времени суток Таск следующий: Имеется форма, откуда пытаюсь подтянуть данные напрямую...

1
Эксперт С++
2924 / 1274 / 114
Регистрация: 27.05.2008
Сообщений: 3,465
25.11.2011, 13:55 2
Какая именно проблема? Телепаты все ушли в отпуск :-(
0
25.11.2011, 13:55
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
25.11.2011, 13:55
Помогаю со студенческими работами здесь

Неувязка с компонентом webbrowser
Всем привет есть некая проблема хотел сделать автоматическое заполнение полей по клику кнопки но...

Странная неувязка со слотами
Стыдно создавать тему, которая многократно обсуждалась, но всё же... Используется Qt 4.8.6 в...

неувязка/неполадка с формой?
Добрый день/ вечер/ ночь! Вдруг из формы, которая до сегодня работала нормально, перестали...

Логическая неувязка относительности одновременности
Чуть позднее рассмотрим задачу на относительность одновременности. Сначало цитата из учебника :...

Неувязка с подгрузкой картинок (Delphi7)
Доброго времени суток. Писал прогу и возникла проблема которую не могу решить уже 6 дней! Короче...

Неувязка с выводом шрифта из MySQL на сайт
вот код &lt;? mysql_query(&quot;SET NAME UTF8&quot;); $db = mysql_connect (&quot;localhost&quot;,&quot;Tema&quot;,&quot;123&quot;);...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru