Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
在 V8 JavaScript 引擎中,该方法Locker::IsLocked(Isolate* isolate)检查“给定隔离的锁定器是否被当前线程锁定”。
Locker::IsLocked(Isolate* isolate)
有没有办法检查一个隔离是否被任何线程锁定以防止线程阻塞?
据我所知,V8 隔离不提供公共try_lock操作,因此您必须使用std::mutex或类似的东西:
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); // ... }
不幸的是,您在使用隔离的任何地方都必须遵循这种模式。祝你好运!