如何挂起内核中的特定线程?
Posted
技术标签:
【中文标题】如何挂起内核中的特定线程?【英文标题】:How to suspend a specific thread in kernel? 【发布时间】:2021-10-26 09:29:23 【问题描述】:有没有办法在内核中使用 KID 来挂起和恢复线程(由 java 中存在的线程类创建的)?我正在考虑类似 pthread_kill 的东西,但该功能在内核级别不起作用。请告诉我如何按线程而不是按进程进行操作。 (不幸的是,每个进程的暂停/恢复可以通过 kill() 函数正常工作。但我想要的是每个线程,而不是每个进程。)
【问题讨论】:
【参考方案1】:据我所知,如果不更改代码并且不将其公开为外部控制选项,则无法做到这一点。
如果您决定引入将管理线程状态的代码更改,请首先阅读此处关于不推荐使用的方法 Thread.suspend 和 resume 并遵循建议的示例:
https://docs.oracle.com/javase/8/docs/technotes/guides/concurrency/threadPrimitiveDeprecation.html
【讨论】:
以上是关于如何挂起内核中的特定线程?的主要内容,如果未能解决你的问题,请参考以下文章
在 CUDA 内核启动后,线程块调度到特定 SM 的行为是啥?