博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
线程响应键盘按键的例子
阅读量:4885 次
发布时间:2019-06-11

本文共 2053 字,大约阅读时间需要 6 分钟。

例子1:键盘输入的字符会排队,一个一个被线程处理。

#include 
#include
#include
using namespace std;char ch = 0;pthread_t tid;void *thread_func(void *arg){ while(true) { ch=getchar(); sleep(1); }}int main(){ //pthread_t tid; if (pthread_create(&tid, NULL, thread_func, NULL) != 0) { cout<<"Create thread error\n"; return -1; } while(1) { if(ch=='p' || ch=='P') { cout<<"Keboard: '"<
<<"': print"<

 

输出结果:

[root@localhost thread]# ./a.out

p
Keboard: 'p': print
p
p
op
Keboard: 'p': print
Keboard: 'p': print
Keboard: 'p': print
pppppq
Keboard: 'p': print
Keboard: 'p': print
Keboard: 'p': print
Keboard: 'p': print
Keboard: 'p': print
Keboard: 'q': exit

[root@localhost thread]# ./a.out

p
Keboard: 'p': print
^C

例子2:信号和线程一起的例子

#include 
#include
#include
#include
using namespace std;char ch = 0;//signalvoid handle_sigint(int){ printf("[singal]: catched ctrl+c\n"); ch='q';}//pthreadpthread_t tid;void *thread_func(void *arg){ while(true) { ch=getchar(); sleep(1); }}int main(){ //signal struct sigaction sig; sig.sa_handler = handle_sigint; sigemptyset(&sig.sa_mask); sig.sa_flags = 0; sigaction(SIGINT, &sig, NULL); //pthread_t if (pthread_create(&tid, NULL, thread_func, NULL) != 0) { cout<<"Create thread error\n"; return -1; } while(1) { if(ch=='p' || ch=='P') { cout<<"Keboard: '"<
<<"': print"<

输出结果:

[root@localhost thread]# ./a.out

p
Keboard: 'p': print
p
p
Keboard: 'p': print
Keboard: 'p': print
q
Keboard: 'q': exit

转载于:https://www.cnblogs.com/jacklikedogs/p/3957828.html

你可能感兴趣的文章
事后诸葛亮
查看>>
ubuntu16.04下安装mysql详细步骤
查看>>
教练技术的小应用
查看>>
关于手机音乐软件问卷调查的分析报告
查看>>
pat02-线性结构2. 一元多项式求导 (25)
查看>>
Leetcode 28. Implement strStr()
查看>>
python中的ConfigParser模块
查看>>
IOS多线程 总结 -------------核心代码(GCD)
查看>>
图片上传iOS
查看>>
Spring、Spring MVC、MyBatis整合文件配置详解
查看>>
Python3之random模块
查看>>
JAVA基础经典面试
查看>>
git 和 github 学习总结
查看>>
AWS MVC 详解
查看>>
zookeeper[4] 安装windows zookeeper,及问题处理
查看>>
C# 0、1 状态转换(int 类型转string 类型的方法)
查看>>
基于.NET Framework 的Windows应用程序如何回收内存
查看>>
codeforce 600A - Extract Numbers
查看>>
RE : 球体波浪倒计时
查看>>
python+Requests
查看>>