社区
进程/线程/DLL
帖子详情
求一多线程问题
tb01412
2004-07-09 11:33:21
请问如何在VC中实现一个多线程的程序,以最简短代码示例一下,在此多谢了!
...全文
138
14
打赏
收藏
求一多线程问题
请问如何在VC中实现一个多线程的程序,以最简短代码示例一下,在此多谢了!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
14 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
kuangjingbo
2004-08-11
打赏
举报
回复
createthread
oyljerry
2004-08-11
打赏
举报
回复
一个简单的例子:
本例中单独设置了一个线程监视当前时间,在Visual C++中线程的简单调用语句为:AfxBegin -Thread(ProcName, param, Priority),第一个参数是线程函数名,param是准备传送给线程的任意32位值,最后一个是线程的优先级(可用常量表示)。这里先定义一个线程函数:
UINT timeThreadProc(LPVOID pParam) //定义线程,必须照此格式
{
CTime gt; //定义时间变量
int hh,mm,ss; //为存储时间定义整型变量
do //判断时间的循环
{
gt=CTime::GetCurrentTime();
//提取当前时间
hh=gt.GetHour(); //分别提取时、分、秒 mm=gt.GetMinute();
ss=gt.GetSecond();
} while ((h!=hh) (m!=mm) (s!=ss));
//判断当前时间
flag=0; //置状态标志
ExitWindowsEx(EWX_SHUTDOWN,0);
//关闭计算机
return 0;
}
在上面这个函数中,第一行的格式不能改变,其中的h、m、s是三个全局变量,存储的是设定的时间(时、分、秒)值。通过循环判断,如果当前时间满足设定的条件,则调用MFC的函数ExitWindowsEx(UNIT uFlags, DWORD dwReserved)来关闭计算机。
Pandona
2004-08-11
打赏
举报
回复
huahao0672:
“CreateThread()函数有很多问题”,我不是很明白,请详细说明一下。
huahao0672
2004-08-11
打赏
举报
回复
樓上的各位大俠,都說的不錯,但是在建立一個線程的時候千萬不要用下面這個
函數 CreateThread()這個函數,這個函數在建立的過程當中,會存在很多的問題.
這點請大家一定要記住了.
如是是 C Runtime library 請用_beginthreadEX()
brainholmes
2004-07-14
打赏
举报
回复
HANDLE hThread;
DWORD dwThreadID;
hThread=::CreateThread(NULL,0,ThreadProc,0,0,&dwThreadID);
DWORD WINAPI ThreadProc(LPVOID pvparam)
{
return 0;
}
我不清楚AfsBeginThread 和他的区别
tb01412
2004-07-13
打赏
举报
回复
楼上的,你有QQ号吗?希望在QQ里请教你一些问题!我的QQ是382270255
ShaftWhy
2004-07-13
打赏
举报
回复
报的什么错误?
tb01412
2004-07-13
打赏
举报
回复
谢谢楼上所有的人,我现在所遇到的问题是:在一个按钮的点击事件中能调用,但我想在对话框生成时就启用一个线程,这时编译器会报出错误,这是为什么?
huahao0672
2004-07-12
打赏
举报
回复
建議你去看一下侯捷大師的<WIN32多線程程式設計>這本書
裏面對多線程有很詳細的描述.相信讀完以後,收穫不小
Flyingfoxoo
2004-07-11
打赏
举报
回复
我的vc很菜啊
vcforever
2004-07-11
打赏
举报
回复
创建工作者线程比较容易,工作者线程一般用来完成纯粹的计算工作,不涉及GUI !
首先定义一个线程函数,在该线程函数中完成一些后台操作
UINT MyThreadFunc(LPVOID lparam)
{
//线程要实现的功能;
return 0;
}
在主线程中,例如button的BN_CLICK消息响应函数中
AfxBeginThread(MyThreadFunc, this);//第二个参数视你要传递给线程的具体内容决定
这样你在点击按钮的时候就可以启动一个线程了!
lianglp
2004-07-11
打赏
举报
回复
DWORD WINAPI threadproc(LPARAM lParam)//这个就是你要执行的线程处理过程
{
...
return NULL ;
}
CreateThread(NULL,NULL,(LPTHREAD_START_ROUTINE)threadproc,NULL,NULL,NULL) ;
这样就可以创建你要的线程了。
pmwin
2004-07-10
打赏
举报
回复
用AfxBeginThread新建线程
comman_wang
2004-07-09
打赏
举报
回复
看看临界区、事件、信号量和互斥体的使用例程,这个网上很多的。
多线程
(一):创建线程和线程的常用方法
一:为什么要学
多线程
应付面试 :
多线程
几乎是面试中必问的题,所以掌握一定的基础知识是必须的。 了解并发编程:实际工作中很少写
多线程
的代码,这部分代码一般都被人封装起来了,在业务中使用
多线程
的机会也...
python的
多线程
当没有
多线程
编程时,一个进程相当于一个主线程;当有
多线程
编程时,一个进程包含多个线程(含主线程)。使用线程可以实现程序大的开发。 多个线程可以在同一个程序中运行,并且每一个线程完成不同的任务。
多线程
...
秒杀
多线程
第四篇 一个经典的
多线程
同步
问题
这个
问题
涉及到线程的同步和互斥,是一道非常有代表性的
多线程
同步
问题
,如果能将这个
问题
搞清楚,那么对
多线程
同步也就打下了良好的基础。 程序描述:主线程启动10个子线程并将表示子线程序号的变量地址作为参数...
浅谈C++中的
多线程
(一)
同步互斥原理以及多进程和
多线程
中实现同步互斥的两种方法 Qt中的
多线程
应用 引入 传统的C++(C++98)中并没有引入线程这个概念。linux和unix操作系统的设计采用的是多进程,进程间的通信十分方便,同时进程之间...
易语言大漠
多线程
易语言大漠
多线程
511遇见易语言
多线程
大漠
多线程
-1进程线程
多线程
511遇见易语言
多线程
大漠
多线程
-2中转子程序传多参511遇见易语言
多线程
大漠
多线程
-3线程传参数据变量地址511遇见易语言
多线程
大漠
多线程
-4线程传参指针地址511遇见...
进程/线程/DLL
15,471
社区成员
49,182
社区内容
发帖
与我相关
我的任务
进程/线程/DLL
VC/MFC 进程/线程/DLL
复制链接
扫一扫
分享
社区描述
VC/MFC 进程/线程/DLL
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章