есть такой код. CreateThread() отрабатывает нормально, но признаков работы потока нет. использую VC++ 2005. не могу понять, в чем дело..
#include <windows.h>
#include <stdio.h>
void func();
DWORD WINAPI ThreadProc(LPVOID lParam);
int main() {
func();
return 0;
}
void func() {
unsigned int tid;
char test[30]={0};
memset(&test[0], 'A', 29);
printf("%s\n", test);
HANDLE hT1 = CreateThread(NULL, 0, ThreadProc, &test[0], 0, (LPDWORD)&tid);
HANDLE hT2 = CreateThread(NULL, 0, ThreadProc, &test[0], 0, (LPDWORD)&tid);
HANDLE hT3 = CreateThread(NULL, 0, ThreadProc, &test[0], 0, (LPDWORD)&tid);
if ((hT1 == INVALID_HANDLE_VALUE)| (hT2 == INVALID_HANDLE_VALUE)| (hT3 == INVALID_HANDLE_VALUE))
printf("failed\n");
int lastErr = GetLastError();
if (lastErr)
printf("last error = %d\n", lastErr);
}
DWORD WINAPI ThreadProc(LPVOID lParam) {
char *p = (char *)lParam;
// Sleep(100);
printf("i'm thread %d\n", GetCurrentThreadId());
printf("%s\n", p);
MessageBox(NULL, TEXT("test"), TEXT("test"), MB_OK);
return 0;
}
---
|