Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.50/4: Рейтинг темы: голосов - 4, средняя оценка - 4.50
MaxxximyM
18 / 2 / 1
Регистрация: 31.08.2011
Сообщений: 132
1

Не получается создать поток

12.08.2012, 22:48. Просмотров 806. Ответов 4
Метки нет (Все метки)

Здравствуйте. Есть код, создающий поток:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include "stdafx.h"
#include <Windows.h>
#include <process.h>
 
void inThread(void* pParams);
 
void main()
{ 
_beginthread(inThread, 0, NULL); 
}
 
void inThread(void* pParams){
MessageBox(NULL, "YRA", "MES", MB_OK);
_endthread();
}
Или я дико туплю или Visual Studio. Программа компилится без ошибок, но MessageBox не выводится.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.08.2012, 22:48
Ответы с готовыми решениями:

Нужно создать базу данных (создать пустой бинарный файл). Через поток. Поток бинарного файла описать в виде локальной переменной внутри функции.
Совсем не понял эту тему. Нужно создать базу данных (создать пустой бинарный...

Не получается запустить поток
Доброго времени суток. Делаю как написано в книжке но ничего не получается....

Поле выполнения цикла получается непрерывный поток данных
Здравствуйте! подскажите пожалуйсто, почему у меня после поле выполнения цикла...

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

Создать фаловый поток
#include &lt;stdio.h&gt; #define n 24 void main() { int i,j=0,p,a; for...

4
Infinity3000
1060 / 579 / 87
Регистрация: 03.12.2009
Сообщений: 1,255
12.08.2012, 23:00 2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <process.h>
#include "windows.h"
 
void myThread(void *pParams) 
{ 
    MessageBoxA(NULL, "YRA", "MES", MB_OK);
    _endthread(); 
} 
 
int main() 
{ 
    _beginthread(myThread, 0, NULL); 
    system("PAUSE");
    return 0;
}
0
Миниатюры
Не получается создать поток  
Infinity3000
1060 / 579 / 87
Регистрация: 03.12.2009
Сообщений: 1,255
12.08.2012, 23:13 3
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <Windows.h>
#include <process.h>
 
void inThread(void* pParams);
 
int main()
{ 
    _beginthread(inThread, 0, NULL); 
    system("pause");
    return 0;
}
 
void inThread(void* pParams)
{
    MessageBoxA(NULL, "YRA", "MES", MB_OK);
    _endthread();
}
Добавлено через 9 минут
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
#include <windows.h>
#include <process.h>
 
unsigned __stdcall ThreadFunc( void * arg) // Функция потока
{
    char ** str = (char**)arg;
    MessageBoxA(0,str[0],str[1],0);
    _endthreadex( 0 );
    return 0;
};
 
int main(int argc, char* argv[])
{
    TCHAR * InitStr1[2] = {L"First thread running!", L"11111"};// строка для первого потока
    TCHAR * InitStr2[2] = {L"Second thread running!",L"22222"};// строка для второго потока
    unsigned uThreadIDs[2];
 
    HANDLE hThreads[2];
    hThreads[0] = (HANDLE)_beginthreadex( NULL, 0, &ThreadFunc, InitStr1, 0,&uThreadIDs[0]);
    hThreads[1] = (HANDLE)_beginthreadex( NULL, 0, &ThreadFunc, InitStr2, 0,&uThreadIDs[1]);
 
    // Ждем, пока потоки не завершат свою работу
    WaitForMultipleObjects(2, hThreads, TRUE, INFINITE ); // Set no time-out
    // Закрываем дескрипторы
    CloseHandle( hThreads[0] );
    CloseHandle( hThreads[1] );
    return 0;
}
2
MaxxximyM
18 / 2 / 1
Регистрация: 31.08.2011
Сообщений: 132
13.08.2012, 09:00  [ТС] 4
Всё решилось переустановкой Visual'а.

Кстати Infinity3000, не подскажешь код для ожидания завершения ОДНОГО потока?
0
cossack5
54 / 48 / 4
Регистрация: 02.08.2012
Сообщений: 127
13.08.2012, 13:37 5
Цитата Сообщение от MaxxximyM Посмотреть сообщение
код для ожидания завершения ОДНОГО потока?
WaitForSingleObject(hThreads[0],INFINITE);
0
13.08.2012, 13:37
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.08.2012, 13:37

НЕ могу создать поток
#include &lt;iostream&gt; #include &lt;conio.h&gt; #include &lt;stdio.h&gt; #include &lt;thread&gt;...

Создать свой поток данных
Не могу понять, возможно ли как то создать свой поток данных? Знаю есть...

Можно ли в DLL создать поток?
Мне необходимо создать DLL, в котором был бы отдельный поток Windows. Однако,...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru