作者Killercat (杀人猫™)
站内Programming
标题Re: [转录]Re: [问题] keybd_event的使用
时间Fri Feb 9 20:01:56 2007
※ 引述《icetofux (豆腐)》之铭言:
: ※ 引述《[email protected] (喵~~~)》之铭言:
: : keybd_event本身的用法没有问题
: : 但是不管cin是不是有等待的特性
: : 他都绝对不可能收的到keybd_event送出的字元
: : 一定要写成两个独立的执行绪才有可能
: 请问两个独立的执行绪是指分成两个程式执行是吗?
: 但是这样子的话我先执行cin>>、cout<<这个程式
: 再执行ketbd_event这个程式的话
: "B"这个字好像不会被输入在第一个程式里
: 这方面要怎麽处理呢?
最简单的做法(不过事实上这做法效率不好, 拿来当例子倒是不错)
Thread 1 Shared Memory Thread 2
+-------------------+ +---------------+ +------------------+
|负责把输入转成讯号 | | | |定期扫描Shared |
|丢进shared memory |--> |KEY_B |--> |Memory, 得到讯号并|
|(比方说现在丢KEY_B)| | | |且删除Shared内讯号|
+-------------------+ +---------------+ +------------------+
Thread 1,2一直跑, 1一直丢讯号给2即可
其实这种做法颇吃cpu time, 比较具体的做法是利用pipe(管线)
不过基本上原理是差不多的
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 220.132.211.69