【发布时间】:2016-11-05 06:57:46
【问题描述】:
我正在用 ncurses 编写一个 c++ 多进程程序。
每个进程都需要在屏幕上显示一些东西。
我的示例代码:
int main() {
initscr();
noecho();
curs_set(0);
int flag = fork();
if (flag == -1)
exit(1);
else if (flag == 0) {
WINDOW *win = newwin(4, 4, 0, 0);
int n = 0;
while (1) {
mvwprintw(win, 0, 0, "%d", n % 9);
wrefresh(win);
n = (n + 1) % 9;
sleep(1);
}
}
else {
WINDOW *win = newwin(4, 4, 8, 8);
int n = 0;
while (1) {
mvwprintw(win, 0, 0, "%d", n % 9);
wrefresh(win);
n = (n + 1) % 9;
sleep(1);
}
}
endwin();
return 0;
}
但它只能在屏幕上显示一个进程的信息。
我该如何解决?
【问题讨论】:
-
您可能需要线程而不是单独的进程。
-
使用线程可以工作,谢谢。但这是一项需要使用多进程来实现的功课。 ^_^ @πάνταῥεῖ
标签: c++ multiprocessing ncurses