C语言多线程

来源:互联网 发布:怎样增加淘宝销量 编辑:程序博客网 时间:2024/05/17 06:05

C语言多线程

#define  _CRT_SECURE_NO_WARNINGS#include<stdio.h>#include<stdlib.h>#include<process.h>#include<Windows.h>//阻塞模式,与 并行模式 的区别。void gogo(void *p){int *pi = p;/*Sleep(2000);printf("A");*///return;//线程 执行完成 后返回int i = 0;while (1){if (i > 5){printf("%d\t %d\n", i,*pi);_endthread(); //结束当前线程}Sleep(1000);i++;}}void time(void *p){int i = 0;while (1){char str[100] = { 0 };sprintf(str, "title 当前时间第 %d 秒", i);system(str);i++;Sleep(1000);}}void main(){/*如果不使用线程,死循环的tiem()函数会让程序无法执行下去。阻塞模式*///time(NULL);_beginthread(time, 0, 0);for (int i = 0; i < 3; i++){HANDLE hd = _beginthread(gogo, 0, &i);//使用WaitForSingleObject() 可使用线程一个一个执行 阻塞模式.//而不使用 WaitForSingleObject() 线程是并行的。WaitForSingleObject(hd,INFINITE); //阻塞模式:必须让一个线程执行完程后才能执行下一个线程。Sleep(1000);}//主线程退出,则所有的线程都将退出。getchar();//system("pause");}


0 0
原创粉丝点击