请教:关于网络编程
写了这么一段程序:
void *thread1(void *args) {
lisnskt = socket(...); // create a socket
bind(...); // bind socket as a server
listen(lisnskt, 1); // listen client to connect
connskt = accept(lisnskt, ...) // wait...
// do functions of thread1
return NULL;
}
int main(void) {
pthread_create(&tid, thread1,NULL); // create a thread
// do functions of main
thread_join(tid) // wait thread1 to end
return 0;
}
这个时候,main()如果想结束程序,但thread1却阻塞于listen和accept的调用,所以main()停在了
thread_join等待线程结束上,如何操作才能使thread1从阻塞中返回,从而使main()可以成功退出。
谢谢!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论