我試圖簡單地使用pthread運行兩個ncurse窗口。我寫的代碼如下:如何使用pthread運行多個ncurses窗口
#include<stdio.h>
#include<pthread.h>
#include<ncurses.h>
#include<sys/ioctl.h>
#include<string.h>
#include<unistd.h>
struct winsize w;
WINDOW *win1,*win2;
void createWin1(void){
while(1){
char buffer[1024];
win1=newwin(0,0,40,50);
box(win1,0,0);
wrefresh(win1);
sleep(1);
}
}
void createWin2(void){
while(1){
win2=newwin(40,50,40,60);
box(win2,0,0);
wrefresh(win2);
sleep(1);
}
}
void main()
{ initscr();
noecho();
cbreak();
start_color();
use_default_colors();
init_pair(1,COLOR_WHITE, -1);
pthread_t p1,p2;
pthread_create(&p1,NULL,(void *)createWin1,NULL);
pthread_create(&p2,NULL,(void *)createWin2,NULL);
pthread_join(p1,NULL);
pthread_join(p2,NULL);
}
現在的問題是我不能並行運行。這兩個窗口將顯示意想不到的輸出。任何人都可以請幫我找出我的代碼中的問題。
歡迎堆棧溢出。 –
是爲c或C++還是兩者兼而有之? –
我只在c試過。 – Chinnu