学习笔记
Windows多线程控制台程序目的:学习和掌握如何编写Windows多线程控制台程序。通过编写程序,加深对进程和线程关系的理解,掌握多线程程序的执行和编写技巧。设计要求:写一个单进程多线程的Windows控制台程序,该程序在一个进程内建立N个线程来执行指定的任务。N由命令行传递给系统。Win32控制台程序中,主函数的格式如:Void main(int argc,char *argv[]),可以获取命令行参数。通过VC++“工程/设置”的C/C++属性页设置应用程序为“MTD”多线程。利用win32 API CreateThread()来生成线程。
#include <stdio.h>
#include <windows.h> // for HANDLE
#include <process.h> // for _beginthread()
#include <stdlib.h>
// 终端运行
// gcc main.c -o a
// .\a.exe 6
DWORD WINAPI thread(LPVOID lpParam) //子线程入口函数
{
int * k = (int *)lpParam;
int b = 0;
while(b<4){
printf("这是子线程 %d\n", *k);
Sleep(50);
b++;
}
return 1;
}
int main(int argc, char* argv[])
{