class_docstr: Concurrent event loop context.
  
  Args:
      concurrency: max processing concurrency.
docstr: Runs a coroutine task synchronously.
  
  Args:
      coro: The synchronous coroutine function.
docstr_tok: ["Runs","a","coroutine","task","synchronously",".","Args",":","coro",":","The","synchronous","coroutine","function","."]
code: def run_task(self, coro):
      r"""Runs a coroutine task synchronously.
  
      Args:
          coro: The synchronous coroutine function.
      """
      with self._sem:
          fut = asyncio.run_coroutine_threadsafe(coro, self._loop)
          return fut.result()
  
file_path: pytorch_geometric/torch_geometric/distributed/event_loop.py
imports: import asyncio
  import atexit
  import logging
  from threading import BoundedSemaphore, Thread
  from typing import Callable, Optional
  import torch
label_desc: Use image node_id 5 for calling the ConcurrentEventLoop obj's underlying member method code with example usage: obj.run_task(coro) and returns: fut