本文主要是介绍IO 5.10,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
在一个进程中,创建一个子线程。
主线程负责:向文件中写入数据
子线程负责:从文件中读取数据
要求使用线程的同步逻辑,保证一定在主线程向文件中写入数据成功之后,子线程才开始运行,去读取文件中的数据#include <myhead.h>int flag=0;void *run(void* arg){while(1){if(flag==1){break;}}int rfd=open("./assign.text",O_RDONLY);char buf[20]={0};//while(1){int retval=read(rfd,buf,sizeof(buf));if(retval==-1){//break;exit(1);}printf("Child thread read:%s \n",buf);//fflush(buf);// }flag=0;close(rfd);sleep(1);}int main(int argc, const char *argv[]){pthread_t id;if(pthread_create(&id,0,run,0)!=0){perror("pthread_create");return -1;}while(1){ while(1){if(flag==0){break;}}int wfd=open("./assign.text",O_WRONLY|O_CREAT|O_TRUNC,0664);printf("please enter:");char buf[128];scanf("%s",buf);while(getchar()!='\n');write(wfd,buf,128);close(wfd);flag=1;sleep(3);}pthread_join(id,0);return 0;}
运行现象
这篇关于IO 5.10的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!