#include <windows.h> #include <process.h> #include <iostream> #include <fstream> using namespace std; HANDLE evRead, evFinish; void ReadThread(LPVOID param) { WaitForSingleObject (evRead ,INFINITE); cout<<"Reading"<<endl; SetEvent (evFinish); } void WriteThread(LPVOID param) { cout<<"Writing"<<endl; SetEvent (evRead); } int main(int argc , char * argv[]) { evRead = CreateEvent (NULL ,FALSE ,FALSE ,NULL) ; evFinish = CreateEvent (NULL ,FALSE ,FALSE ,NULL) ; _beginthread(ReadThread , 0 , NULL) ; _beginthread(WriteThread , 0 , NULL) ; WaitForSingleObject (evFinish,INFINITE) ; cout<<"The Program is End"<<endl; return 0 ; }
时间: 2024-03-29 20:35:33 浏览: 15
这段代码是一个简单的多线程程序,使用了Windows API。其中,CreateEvent函数用于创建两个事件对象evRead和evFinish,_beginthread函数用于创建两个线程ReadThread和WriteThread。主函数中,先等待evFinish事件被触发,然后输出程序结束的消息。在线程函数中,ReadThread等待evRead事件被触发后输出"Reading",并触发evFinish事件;WriteThread直接输出"Writing",并触发evRead事件。这个程序的运行结果是先输出"Writing",然后输出"Reading",最后输出"The Program is End"。
相关问题
#include<iostream>与#include<stdio.h>的区别
#include<iostream> 和#include<stdio.h>是两个不同的头文件引用语句,它们有以下区别:
1. 功能:#include<iostream> 是C++标准库中的头文件,用于输入输出操作,包含了cin、cout等对象和函数的定义。而#include<stdio.h>是C语言标准库中的头文件,用于输入输出操作,包含了printf、scanf等函数的定义。
2. 命名空间:#include<iostream> 引入的是std命名空间,需要使用std::cout、std::cin等来访问其中的元素。而#include<stdio.h>没有命名空间的概念,函数名直接使用即可。
3. 扩展名:#include<iostream> 的头文件没有扩展名,因为它是C++标准库中的头文件。而#include<stdio.h>的头文件扩展名为.h,因为它是C语言标准库中的头文件。
4. 文件位置:#include<iostream> 是C++标准库中的头文件,通常位于编译器的include路径中。而#include<stdio.h>是C语言标准库中的头文件,也位于编译器的include路径中。
总之,#include<iostream> 用于C++程序中,提供了更方便的输入输出操作;而#include<stdio.h> 用于C程序中,提供了基本的输入输出功能。
#include <iostream>和#include <stdio.h>有什么区别
#include <iostream>和#include <stdio.h>这两个语句是C++和C语言中用于包含标准库文件的指令。它们有以下区别:
1. 功能不同:#include <iostream>用于包含C++标准输入输出库,而#include <stdio.h>用于包含C语言标准输入输出库。
2. 输入输出方式不同:C++中的iostream库提供了更方便和面向对象的输入输出方式,如使用cin和cout进行输入输出。而C语言的stdio.h库使用更传统的函数方式,如使用scanf和printf进行输入输出。
3. 命名空间不同:C++中的iostream库位于std命名空间中,因此我们通常需要在使用时使用std::前缀,如std::cout、std::cin。而C语言的stdio.h库没有命名空间的概念,可以直接使用其中的函数名。
总体来说,如果在C++代码中,我们通常使用#include <iostream>来包含输入输出库;如果在C代码中,我们通常使用#include <stdio.h>来包含输入输出库。