asyncioを用いて非同期プログラムを作成しようと考えています。

一方からのシグナルで多方の待ちを解除させたいのですが、
タイムアウトで継続するようにするにはどのようにすればよいのでしょうか。

類似のthreading.Event()には、timeoutの指定が可能なので、
同様の用途としたいと考えています。

gEvent = asyncio.Event()

async def wait():
await funcWait()
print('Hello')

async def funcWait():
   #ここで他方からのイベントまたは、2秒待ちで解除できるようにしたいが、
#asyncio.Eventではタイムアウトの指定ができない
await gEvent.wait()

def funcWake():
   #ここから起動させる。
gEvent.set()