双11狂欢大促

盲盒赢 定制羽绒服

开启惊喜盲盒,抽取你的专属好礼

— 惊喜奖品抢先看 —

人搓,没有看懂别人的帖子

bsnry bsnry 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
一道输入输出线程互斥的题

羞愧,人搓,没有成功实现。


问题描述:

在控制台下输入的时候,阻止输出线程,直到输入一行字符串后,完成后再次开启输出线程。

也就是说,当输入'\n'的时候,那么就又开始打印了。

原帖子:
http://topic.csdn.net/u/20120427/10/23a2316b-7706-4813-8363-73e4c1179aee.html?43281




以下是我提供的代码版本,是不能满足题意的。因为当输出线程运行的的时候,无法输入。




#include "stdafx.h"

#include <iostream>
#include <windows.h>
#include <process.h>



using std::cout;
using std::endl;


static char c;

unsigned _stdcall threadFun1(void*)
{
while(1)
{
c=getchar();

}
return 0;
}


unsigned int _stdcall threadFun2(void*)
{

while(1)
{
if(c=='\n')
{
//打印

cout<<"hello"<<endl;

}
}
return 0;
}







int _tmain(int argc, _TCHAR* argv[])
{
HANDLE hThread1,hThread2;


hThread1=(HANDLE)_beginthreadex(NULL,0,threadFun1,NULL,0,NULL);

hThread2=(HANDLE)_beginthreadex(NULL,0,threadFun2,NULL,0,NULL);

WaitForSingleObject(hThread1,-1);

WaitForSingleObject(hThread2,-1);

CloseHandle(hThread1);
CloseHandle(hThread2);

return 0;
}

...全文

相关推荐

利用Python scrapy框架抓取北邮人论坛十大热门帖子

在本项目中,“利用Python scrapy框架抓取北邮人论坛十大热门帖子”旨在利用Scrapy从北邮人论坛(BYR)获取最热门的十个帖子的相关信息。下面我们将深入探讨如何实现这一目标。

酱油何在

天涯帖子下载器 txt

天涯帖子下载器 txt" 是一个专门针对天涯论坛设计的工具,旨在帮助用户将感兴趣的帖子内容方便地下载并转化为TXT格式,以便在没有网络连接或者手机等移动设备上离线阅读。

guojingpen

社交媒体信息与MBTI分类,包含来自8600多人的帖子

社交媒体信息与MBTI分类,包含来自8600多人的帖子社交媒体信息与MBTI分类,包含来自8600多人的帖子社交媒体信息与MBTI分类,包含来自8600多人的帖子

地理探险家

redditfeed:Reddit供稿,供那些想对Reddit上的最新帖子发表评论的人使用

该代码很旧,您应该尝试避免使用它,因为我已经有一段时间没有更新它了。redditfeed Reddit提要,供那些想对Reddit上的最新帖子发表评论的人使用。 目前,我已

司幽幽

baidu_tips:百度贴吧特别关注插件 设置好关注的人后,可以自动打开好友发的帖子或回复的帖子

百度贴吧特别关注插件设置好常在贴吧和关注的人后,常在贴吧里被关注的人发了或回复了帖子,会以消息窗体的方式提示,点击可打开帖子更新说明设置里删除不了用户名或贴吧的问题不再一次性提示重复N条同样的帖子 提

仆儿
评论 3
收藏 已收藏
分享
返回顶部
bsnry
C++ 语言 65,214 成员 250,514 内容