C创建新线程的源码
2008-02-23 05:33:50来源:互联网 阅读 ()
#include <stdio.h>
//线程函数
DWORD WINAPI ThreadProc(LPVOID lpParam)
{
int i = 0;
while(i < 20)
{
printf("I am from a thread,count = %d\n",i );
}
return 0;
}
int main(int argc, char* argv[])
{
HANDLE hThread;
DWORD dwThreadId;
//创建一个新线程
hThread = CreateThread(
NULL, //默认安全属性
NULL, //默认堆栈大小
ThreadProc, //线程入口地址(执行线程的函数)
NULL, //传给函数的参数
0, //指定线程立即执行
&dwThreadId //返回线程的ID号
);
printf("Now another thread has been Created,ID:%d\n",dwThreadId);
//等待新线程运行结束
WaitForSingleObject(hThread,INFINITE); //INFINITE表示等待无限长,单位为毫秒
CloseHandle(hThread);
return 0;
}
-----------------------------------------------------------------------------------------------------------------------
#include <windows.h>
#include <string.h>
#include <stdio.h>
int main(int argc, char* argv[])
{
char szCommandLine[] = "cmd";
STARTUPINFO si = {sizeof(si)};
BOOL bRet;
PROCESS_INFORMATION pi;
//指定显示ShowWindows有效
si.dwFlags = STARTF_USESHOWWINDOW;
si.wShowWindow = TRUE;
bRet = CreateProcess(
NULL, //不在此指定可执行文档的文档名
szCommandLine, //命令行参数
NULL, //默认进程安全性
NULL, //默认线程安全性
FALSE, //当前进程内的句柄不能够被子进程继承
CREATE_NEW_CONSOLE, //为新进程创建一个新的控制台窗口
NULL, //使用本进程的环境变量
NULL, //使用本进程的驱动器和目录
&si, //父进程传给子进程的一些信息
&pi); //保存新进程信息的结构
if(bRet)
{
//不使用两个句柄,最好立即关闭
CloseHandle(pi.hThread);
CloseHandle(pi.hProcess);
printf("新进程的进程ID号是:%d\n",pi.dwProcessId);
printf("新进程的主线程ID号是:%d\n",pi.dwThreadId);
}
return 0;
}
---------------------------------------------------------------------------------------------------
C/C 中的多线程入门源码
作者: 贺忆东 |
一个很简单的多线程程式,主要用于了解临界区的使用 #include #pragma comment(lib,"libcmt.lib") const int NLOOP = 100; int counter = 0; void doit(void*); CRITICAL_SECTION beswap ; int main() HANDLE pnt[2]; InitializeCriticalSection(&beswap); pnt[0] = (HANDLE)_beginthread(doit,0,NULL); WaitForMultipleObjects( 2, pnt, TRUE, 1000L); DeleteCriticalSection(&beswap); void doit(void*) int i, val = 0; for(i = 0; i < NLOOP; i) val = counter; LeaveCriticalSection(&beswap); printf("end...\n"); return ; |
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
上一篇: 基于C的文档操作
下一篇: C/C 语言struct深层探索
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash