我有一个具有100个线程的进程。
我知道只有一个线程在使用特定的fd
。
例如,此fd
是一个套接字描述符,只有一个线程将此套接字与send()
和receive()
一起使用。
如何在Linux上使用C找出此线程的ID?
是否有比使用ptrace
附加到每个线程并等待直到将检测到其中一个更聪明的方法?
答案 0 :(得分:2)
文件描述符是该过程的一部分。而且,由于文件描述符只是一个非负整数,并且可以由相同进程的所有线程使用,而无需显式重新绑定,因此询问“哪个线程持有fd”对Linux进程/线程模型来说不是问题。
如果您真的想要答案,那就是:所有线程都这样做!