我正在为多线程 Web 服务器设计一个 C 程序。我想在一个线程上接受所有请求并在第二个线程上使用线程池处理它们。我很难让两个线程并行运行。我正在附加我的代码架构。
pthread_t entry, scheduler, temp;
pthread_create(&entry, NULL, (void *)&listen, (void *)server_sockfd);
pthread_create(&scheduler, NULL, (void *)&scheduler, (void *)server_sockfd);
pthread_join (entry, NULL);
pthread_join (scheduler, NULL);
我的第一个线程监听将接受来自客户端的所有请求并将其放入队列中,第二个线程将安排它们。我的问题是:我的第一个线程一直在运行,而我的第二个线程从不运行。第一个线程具有 accept() 系统调用的套接字函数,该函数在 While 循环中使用,以便它一直在监听。
请让我知道如何并行运行两个线程。谢谢你。