c – libuv工作线程或工作队列健康检查?

在libuv中,最终可能会因为工作量太大或代码错误而将工作线程占用.是否有一个简单的函数可以检查工作线程或线程队列的运行状况?它不一定是100%确定性的,毕竟不可能确定工作线程是挂在慢速代码还是无限循环上.

因此,以下任何启发式方法都会很好:

>尚未处理的排队项目数.如果这个太大,则可能意味着工作线程忙或挂.
> libuv是否有任何线程查杀机制,如果工作线程在n秒内没有检查,它会被终止?

解决方法

libuv本身不存在该函数,我不知道任何OSS提供类似的东西.

就杀戮机制而言,没有任何内容可以融入libuv,但http://nikhilm.github.io/uvbook/threads.html#core-thread-operations建议:

A well designed program would have a way to terminate long running workers that have already started executing. Such a worker Could periodically check for a variable that only the main process sets to signal termination.

相关文章

本程序的编译和运行环境如下(如果有运行方面的问题欢迎在评...
水了一学期的院选修,万万没想到期末考试还有比较硬核的编程...
补充一下,先前文章末尾给出的下载链接的完整代码含有部分C&...
思路如标题所说采用模N取余法,难点是这个除法过程如何实现。...
本篇博客有更新!!!更新后效果图如下: 文章末尾的完整代码...
刚开始学习模块化程序设计时,估计大家都被形参和实参搞迷糊...