#include <windows.h>
#include <stdio.h>
#include <Tlhelp32.h>
DWORD WINAPI readproc(LPVOID lparam)
{
//Sleep(1000);
printf("%d\n",(int)lparam);
return 0;
}
int main()
{
THREADENTRY32 te;
te.dwSize=sizeof(te);
DWORD i=0;
int a=0;
HANDLE readhandle[3];
readhandle[i]=CreateThread(0,0,readproc,(LPVOID)i,0,0);
Sleep(1);
//WaitForSingleObject(readhandle[i],INFINITE);
return 0;
}
vc下运行的时候一会儿会出现一个0,一会儿会出现2个0.。。这是系统调度吧??为啥一会儿是1次,一会儿是两次呢?
还有为啥程序一开始会停会儿呢??是因为createthread函数创建线程慢吗??
#include <stdio.h>
#include <Tlhelp32.h>
DWORD WINAPI readproc(LPVOID lparam)
{
//Sleep(1000);
printf("%d\n",(int)lparam);
return 0;
}
int main()
{
THREADENTRY32 te;
te.dwSize=sizeof(te);
DWORD i=0;
int a=0;
HANDLE readhandle[3];
readhandle[i]=CreateThread(0,0,readproc,(LPVOID)i,0,0);
Sleep(1);
//WaitForSingleObject(readhandle[i],INFINITE);
return 0;
}
vc下运行的时候一会儿会出现一个0,一会儿会出现2个0.。。这是系统调度吧??为啥一会儿是1次,一会儿是两次呢?
还有为啥程序一开始会停会儿呢??是因为createthread函数创建线程慢吗??
解决方案 »
- fileDlg.m_ofn.Flags=OFN_ALLOWMULTISELECT的问题
- 能不能改变输入到编辑框eidt控件中的字号?
- 怎么获得当前日期和时间?
- 语法问题,郁闷中
- 应该是个简单问题吧,现有两个程序master.exe和slave.exe, slave程序的运行必须通过master的执行才能运行,如何调试这个slave程序呢?
- 如何使得clistctrl的标题居中显示,而其内容为居左显示呀?
- 为什么会出现Msgsrv32(没有响应)?
- 请老师 高手们帮我看看能不能实现后台填写网页信息的目的 代码在贴中
- 在线的朋友看看嘛!!! 要不然今晚没得吃了。。。。。。。。
- 控制台应用程序里不能显示 Unicode 汉字吗?(高手请赐教)
- 刚看了华为研发试题,第一题都不会做。请高手帮忙看下
- 32位操作系统里将32工程编译成64位出错
在MFC程序中,应该调用AfxBeginThread函数,在Visual C++程序中应调用_beginthreadex函数。
下面一句应该有for循环吧。主线程不会等待子线程结束。所以打印几个数字是不确定的。在侯捷翻译的《win32多线程程序设计》一书中的47页有以下内容:
程序启动后就执行的那个线程称为主线程(primary thread)。主线程有
两个特点。第一,它必须负责GUI(Graphic User Interface)程序中的主消
息循环。第二,这一线程的结束(不论是因为返回或因为调用了ExitThread( ))
会使得程序中的所有线程都被强迫结束,程序也因此而结束。其他线程没有机
会做清理工作。