【转】VC控制台多线程实例
来源:互联网 发布:托尼道格拉斯cba数据 编辑:程序博客网 时间:2024/05/01 18:59
多线程可以给程序实现许多的功能,并且多个函数同时进行有效地提高了程序的运行效率。这篇文章讲的就是VC控制台下的多线程操作。《VC+API常用函数简单例子大全》,作者http://hi.baidu.com/3582077/home,该书下载地址(点击这里)。
首先我们要用到CreateThread函数,以下是函数原型:
HANDLE CreateThread(
LPSECURITY_ATTRIBUTES lpThreadAttributes,
DWORD dwStackSize,
LPTHREAD_START_ROUTINE lpStartAddress,
LPVOID lpParameter,
DWORD dwCreationFlags,
LPDWORD lpThreadId
);
它有六个参数,第一个参数不用管它,填NULL,第二个参数dwStackSize用于新线程的初始堆栈大小,默认为0,第三个lpStartAddress填函数名(指标),但这个函数必须是这种固定格式的DWORD _stdcall ThreadProc(LPVOID lpParameter),新的线程将会执行这个函数里面的代码,直到函数结束,线程退出。第四个lpParameter是一自定义参数,用户可以通过这个参数,传递需要的类型,这个参数与线程函数的参数相对应。第五个dwCreationFlags填0表示立即执行,如果是CREATE_SUSPENDED表示挂起,直到用ResumeThread函数唤醒。第六个lpThreadId填NULL就行了。
例子:
#include <stdio.h>
#include <windows.h>
DWORD _stdcall ThreadProc(LPVOID lpParameter)//线程执行函数
{
int si=100;
while(si>0)
{
printf("子线程输出数字:%d\n",si--);
Sleep(1000);
}
return 0;
}
int main()
{
int mi=0;
CreateThread(NULL,0,ThreadProc,NULL,0,NULL);//创建一个线程,去执行ThreadProc函数
while(mi<100)
{
printf("主线程输出数字:%d\n",mi++);
Sleep(1000);
}
return 0;
}
- 【转】VC控制台多线程实例
- VC多线程编程实例
- VC多线程编程实例
- VC多线程编程实例
- VC 多线程编程实例
- VC多线程编程实例
- VC++多线程编程实例讲解
- VC++多线程编程实例讲解
- VC控制台程序编写(转)
- VC++多线程编程实例讲解(入门)
- C语言多线程实例,VC下使用
- VC++多线程编程实例讲解(入门)
- VC++6.0在控制台程序中隐藏控制台窗口[转]
- vc控制台程序事件处理(转)
- 【转】VC++控制台字体大小相关操作
- VC多线程编程(转)
- VC多线程编程(转)
- VC多线程编程(转)
- 【转】VC++Csocket类的文件收发函数
- 成功使用MU3-WN823N无线USB网卡
- Iphone开发(五)用滑块slider来调节控件透明度
- [原创]VC成功实现重启路由器(完整源码)
- 栈和队列小结
- 【转】VC控制台多线程实例
- 【VC++6.0】成功制作并使用lib库(原创)
- 【原创】VC实现文件选择对话框并且排除afxwin1.inl line22错误
- [转]VC鉴别IP是否规范
- oracle 存储过程 传入时间
- 【转载】VC中字符串和数字转换的函数
- [VC++]成功实现资源释放(原创+转载)
- VC获取自身PID
- VC获取windows启动模式及获取屏幕分辨率