def execute_coroutine(coro: t.Coroutine) -> t.Any:
    """
    Run a coroutine function as synchronous function with SyncWorker

    example:
    ```python

        async def coroutine_function():
            return "Coroutine Function"

        res = execute_coroutine(coroutine_function())
        assert res == "Coroutine Function"
    ```
    """
    _worker_thread = _SyncWorkerThread()
    _worker_thread.start()

    res = _worker_thread.execute(coro)

    _worker_thread.work_queue.put(sentinel)
    _worker_thread.join()

    return res

    Run a coroutine function as synchronous function with SyncWorker

    example:
    ```python

        async def coroutine_function():
            return "Coroutine Function"

        res = execute_coroutine(coroutine_function())
        assert res == "Coroutine Function"
    ```
    
ninja_extra/threading/sync_worker.py