线程

来源:互联网 发布:php 服务器基础知识 编辑:程序博客网 时间:2024/06/05 18:02
#include<windows.h>#include<iostream.h>DWORD WINAPI Fun1Proc(LPVOID lpParameter){cout<<"thread1 is running"<<endl;return 0;}void main(){HANDLE hThread1;//第一个参数让线程默认安全性//第二个参数设置为0,让新线程采用与调用线程一样的栈大小//第三个参数指定线程1入口函数地址//第四个参数是传递给线程1的参数//第五个参数是线程创建标记,设置为0//第六个参数是新线程id,因为这里不需要使用该ID,所以设置为NULLhThread1=CreateThread(NULL,0,Fun1Proc,NULL,0,NULL);//线程是按照时间片轮转这种方式来执行的(这一点貌似在操作系统里面有提到)//如果我们直接close线程的话,这个时间片还没有轮转到程序就结束了,//如果我们sleep主线程,它会被移除cpu等待,让后cpu会从队列当中取出另一个线程//执行Sleep(1000);//实际上调用CloseHandle函数并没有中止新创建的线程,只是表示在主线程//中对新创建的线程的引用不感兴趣。//(但实际意义上貌似还是一样的,就是这个线程不去执行)CloseHandle(hThread1);cout<<"main thread is running"<<endl;}