1

V8 JavaScript エンジンでは、このメソッドLocker::IsLocked(Isolate* isolate)は「特定のアイソレートのロッカーが現在のスレッドによってロックされているかどうか」をチェックします。

スレッドがブロックされないようにするために、isolate がスレッドによってロックされているかどうかを確認する方法はありますか?

4

1 に答える 1

2

私が知る限り、V8 アイソレートは公開try_lock操作を提供しないため、次のstd::mutexようなものを使用する必要があります。

std::mutex mutex;
// ...
if (mutex.try_lock())
{
    std::lock_guard<std::mutex> guard(mutex, std::adopt_lock);
    v8::Locker locker(isolate);
    // ...
}

残念ながら、isolate を使用する場合は常にこのパターンに従う必要があります。幸運を!

于 2013-06-11T12:40:37.523 に答える