Re: [轉錄]Re: [問題] keybd_event的使用
※ 引述《icetofux (豆腐)》之銘言:
: ※ 引述《SmallBee.bbs@binary.csie.ncu.edu.tw (喵~~~)》之銘言:
: : 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
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 4 之 4 篇):
Programming 近期熱門文章
PTT數位生活區 即時熱門文章