我试图了解应用程序中线程的使用(我知道我正在做的事情在某种意义上可能是愚蠢的)并且我试图了解如何从创建的 main 结构中操作声明的变量线。到目前为止,我有:
typedef struct Chi_Server {
int thread_status;
int active_connections;
pthread_t thread_id;
pthread_attr_t thread_attribute;
struct thread_info *tinfo;
} CHI_SERVER;
int main(void) {
CHI_SERVER *chi_server;
chi_server_start_server(chi_server);
if (pthread_create(&chi_server->thread_id, (void *) &chi_server->thread_attribute, &chi_server_runtime, &chi_server)) {
perror("Creating main thread");
}
initscr();
noecho();
cbreak();
nodelay(stdscr, TRUE);
keypad(stdscr, TRUE);
curs_set(0);
do {
chi_server_time_alive(chi_server);
chi_server_display(chi_server);
} while (getch() != 113);
nocbreak();
endwin();
chi_server_stop_server(chi_server);
return 0;
}
void *chi_server_runtime(void *chi_server) {
chi_server->server_stats.active_connections = 1;
}
我只是做了= 1,所以我可以看看结构变量是否可以在主中被操纵。到目前为止,我完全被难住了。有谁知道如何操作 main 中声明的结构?