现在,thread_info
的来电回复MACH_SEND_INVALID_DEST
而不是KERN_SUCCESS
,我还不知道是什么导致了这种新情况。
这个返回值的原因可能是什么。我在mach_thread_self()
内调用NSOperation
作为thread_act_t
(即第一个参数)时,传递了从thread_info()
获得的有效数据。在调用NSOperationQueue
时,操作可能已完成但仍保留NSOperation
。是thread_info()
可能在呼叫时不再存在的线程上执行了吗?
基本上我想知道操作在线程的用户和系统时间方面花了多长时间。该操作在其尾部调用异步服务,从该服务的完成处理程序调用{{1}}。
答案 0 :(得分:0)
我现在wait
在NSCondition
内部NSOperation
(在调用异步服务之后,即在其最后),并在完成处理程序中signal
。这似乎解决了这个问题。