haskell 获取所有正在运行的线程的列表或计数

xeufq47z  于 2023-01-17  发布在  其他
关注(0)|答案(1)|浏览(154)

我如何执行以下操作之一?

  • 是否从应用程序代码获取所有运行分叉线程(最好带有标签)的ThreadID列表?
  • 得到一个简单的(也许是近似的;例如,从最后一个主GC开始)、运行线程的计数
  • gdb或类似文件中获取上述文件之一

对我不起作用的事情:

  • 需要分析构建
  • 维护一些数据结构来尝试自己跟踪这些信息

我觉得有希望的事:

  • 编写一个自定义事件日志挂接以尝试获取此信息https://downloads.haskell.org/~ghc/latest/docs/html/users_guide/runtime_control.html#hooks-to-change-rts-behaviour
  • 以某种方式创建一个hacky RTS绑定
wkyowqbh

wkyowqbh1#

全球碳氢化合物9.6 x一个电子零部件x一个月一个月
摘自GHC用户指南:
GHC现在提供了一组用于内省程序线程的操作GHC.Conc.listThreads,以及用于查询线程标签(GHC.Conc.threadLabel)和状态(GHC.Conc.threadStatus)的操作。

相关问题