1
我想用3個線程(主,讀寫器)編寫簡單的程序。讀線程是類似的東西:異步控制檯輸入凍結了以前的輸入C
char message[128];
while (1) {
std::cin >> message;
}
主要搭線Ctrl+Z
動作,然後用戶按下此控件,那麼我想顯示簡單的選擇像Do you want finish? (Y/N) __
其中__
是std::cin
行動。現在我有這樣的事情:
void signal_handler(int signal) {
char finish;
std::cout << "Do you want finish? (Y/N)";
std::cin >> finish;
}
int main(void) {
signal(20, signal_handler);
...
但是,當我發出簡單Y
首先是要讀線程,現在當我發Y
是要主線程。我如何將stdin重定向到主線程?
你在信號處理程序中做得太多了,只需設置一個由程序檢查的標誌即可。也沒有硬編碼信號數字,但使用的名稱。 – Voo
「C」之前的「C」是什麼? –
@UlrichEckhardt對不起,我的錯。我的英語很糟糕:<我更喜歡另一種語言。 – ventaquil