+ ParallelThreadContext(std::function<void()> code, void_pfn_smxprocess_t cleanup_func, smx_actor_t process,
+ bool maestro)
+ : ThreadContext(std::move(code), cleanup_func, process, maestro)
+ {
+ }
+
+ static void initialize();
+ static void finalize();
+ static void run_all();
+
+private:
+ static xbt::OsSemaphore* thread_sem_;
+
+ void start_hook() override;
+ void yield_hook() override;