gpt4 book ai didi

c - 在程序的任何地方单独分离一个线程是否正确?

转载 作者:行者123 更新时间:2023-12-03 12:52:35 26 4
gpt4 key购买 nike

我正在编写一个多线程服务器 程序来回显客户端发送的数据。我为每个客户生成一个线程。在线程的启动例程中,我正在接收客户端的数据并将其回显。

如果客户端断开连接,那么我将使用 pthread_detach(pthread_self()) 将该线程设置为已分离,以便在退出时,线程的存储可以回收为 given here .

所以我想问一下:
1) 自己分离一个线程是否正确?
2) 在程序中的任何地方将线程设置为分离(单独)是否正确,即是否没有必要在创建线程之后或创建线程时这样做?

P.S.: 我的程序运行正常,但是由于在多线程程序中,即使有错误,最初也可能不会出现,所以我想解决这两个问题。

最佳答案

每个线程都必须加入或分离,并且对于每个成功启动的线程都必须恰好发生其中之一。如何以及何时执行此操作完全取决于您。

问题2没有多大意义:线程只在它执行的时候执行(同义反复),你只能在它执行的时候调用函数。因此,线程可以在仍在运行时自行分离,但当然不能在之后分离(因为它不再运行)。

关于c - 在程序的任何地方单独分离一个线程是否正确?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18400948/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com