在VC6下试了,没问题。按说不应该出现你所说的错误啊,0内存就是NULL,这里也没有指针啊把CloseHandle(thrhandle); 放在main的最后看一下
解决方案 »
- 用 CreateWindowEx 函数创建一个 WS_POPUP 风格的窗口时,其父窗口失去了活动状态,怎样不让父窗口失去活动状态?
- 两个对话框,怎么在一个对话框获取另外一个的控件ID呢,这样可以实现吗?
- 数组的运算```
- 网上搜了一下,苏州好像对VC程序员需求不多哦
- 如何将拼音转换成汉字,类似与快速检索,比如w就知道要找汉字的王,万,湾等,这个怎么做啊?
- 各位仁兄\仁姐,帮帮忙,格式输出问题
- MFC 已打开几个对话框,每个对话框标题不同,如何判断哪一个已经打开、哪一个未打开。
- win9x下使用int 13h中断
- Very菜鸟的COM问题,满意有分
- 在动态库中导出一个变量怎么实现
- 关于MFC中全局变量的问题
- mfc dll中如何使用webbrowser控件
=======
和这个应该没关系
if(thrhandle != NULL)
{
::TerminateThread(thrhandle, 1);
CloseHandle(thrhandle);
}
加上这个看看,线程退出要注意
把i++ 改成::InterlockedIncrement(&i)或::InterlockedExchangeAdd(&i, 1)
就这个程序本身来说,是不够严谨,没有做线程同步,但我想作者举这个例子不是作为反面教材的吧?
还有在你机子上产生的"0x004031c9"指令引用"0x00000000"内存的错误又怎么解释呢?还有双核或多核的PC上多线程怎么调度,怎样利用多线程,最大程度发挥其优势,也是一个值得研究的课题哈。
就这个程序本身来说,是不够严谨,没有做线程同步,但我想作者举这个例子不是作为反面教材的吧?
还有在你机子上产生的"0x004031c9"指令引用"0x00000000"内存的错误又怎么解释呢?还有双核或多核的PC上多线程怎么调度,怎样利用多线程,最大程度发挥其优势,也是一个值得研究的课题哈。
多线程的效率会比单线程高,但单核系统上,线程不是同时执行的,
只是CPU时间片的轮询而已,