【问题标题】:How to use isolate->terminateExecution to stop all threads如何使用isolate->terminateExecution 停止所有线程
【发布时间】:2020-07-09 03:34:08
【问题描述】:

我知道isolate->terminateExecution() 只会终止当前线程。我已经看到一些关于使用 v8::Locker 传播和终止所有线程的建议,但是我不确定这应该如何工作。

我正在运行 v8 版本 8.1。

【问题讨论】:

    标签: c++ v8 terminate


    【解决方案1】:

    任何时候一个 Isolate 中只能有一个线程处于活动状态,因此只有一个线程可以终止。

    如果您的应用程序有多个线程,那么有两种可能的情况:

    • 要么你的线程轮流进入那个隔离区,在这种情况下你应该已经有储物柜了。您应该能够轻松添加自己的门控/簿记(例如,有一个全局标志,指示“一个线程已请求终止共享隔离,因此不允许任何线程再进入它”)。
    • 或者您的每个线程都有自己的 Isolate,在这种情况下,它们应该分别调用 TerminateExecution

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-07-19
      相关资源
      最近更新 更多