第一次写博客,用了默认编辑器,因为默认编辑器看起来比较简单。
言归正传,在使用VC6.0试了一下最简单的开启线程测试,用的CreateThread,完整代码如下:
#include<windows.h>
#include<stdio.h>
DWORD WINAPI myfun1(LPVOID lpParameter);
DWORD WINAPI myfun2(LPVOID lpParameter);
int main()
{
HANDLE h1;
HANDLE h2;
//创建线程1
h1 = ::CreateThread(NULL,0,myfun1,NULL,0,NULL);
printf("线程1开始运行!\r\n");
//创建线程2
h2 = CreateThread(NULL, 0, myfun2, NULL, 0, NULL);
printf("线程2开始运行!\r\n");
//关闭线程1
::CloseHandle(h1);
//关闭线程2
::CloseHandle(h2);
//退出
while (1)
{
if (getchar() == 'q')
return 0;
else
Sleep(100);
}
}
//线程1打印
DWORD WINAPI myfun1(LPVOID lpParameter)
{
printf("线程1正在运行\n");
return 0;
}
//线程2打印
DWORD WINAPI myfun2(LPVOID lpParameter)
{
printf("线程2正在运行\n");
return 0;
}
运行后结果有异常,总有打印语句被执行两次,截图如下:
每次结果都不太一样,比如:
后来在VS上运行,结果正常,如图:
不知道是什么原因,如果有高手知道,还望不吝赐教啊~