首页 > 代码库 > 迎面一个小例子
迎面一个小例子
#include <stdio.h>#include <windows.h>DWORD WINAPI ThreadFunc (LPVOID);int main (){ std::ios::sync_with_stdio(false); HANDLE hThrd = NULL; DWORD threadId = 0; //无法预测结果, 执行次序无法保证 //因为 task switch 随时可能发生 for (int i = 0; i < 5; ++i) { /* //传回两个值, 第一个值是 HANDLE, 这也是它的返回值, 跟线程有关的 API 都与它有关 HANDLE CreateTHread( LPSECURITY_ATTUIBUTES
ipThreadAttributes, //新线程的安全属性(NULL 意为默认) DWORD dwStackSize, //新线程默认的堆栈大小 LPTHREAD_START_ROUTINE
ipStartAddress, //新线程的起始地址, 存放一个指针 LPVOID ipParameter, //此值将被传入新线程中, 作为参数 DWORD dwCreatinFlags, //允许产生一个暂时挂起的线程, 默认是立即开始执行 LPDWORD ipThreadId //新线程的 id, 是一个全局变量, 可以独一无二的表示系统任意进程的某个线程 ); */ //新线程 hThrd = CreateThread (NULL, 0, ThreadFunc, (LPVOID) i, 0, &threadId); //主线程 if (hThrd) { printf ("Thread launched %d \n", i); } } //等待线程 hThrd, 防止它提前结束 Sleep (2000); return EXIT_SUCCESS;}DWORD WINAPI ThreadFunc (LPVOID n){ for (int i = 0; i < 10; ++i) { printf ("%d%d%d%d%d%d%d%d\n", n, n, n, n, n, n, n, n); } return 0;}
迎面一个小例子
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。