/* * Copyright (c) 2026, the Ladybird developers. * * SPDX-License-Identifier: BSD-2-Clause */ #pragma once #include #include #include #include #include #include namespace Threading { class ThreadPool { public: static ThreadPool& the(); void submit(Function); private: ThreadPool(); intptr_t worker_thread_func(); Mutex m_mutex; ConditionVariable m_condition { m_mutex }; Queue> m_work_queue; Vector> m_threads; }; }