data Async a
An asynchronous action spawned by async or withAsync.
Asynchronous actions are executed in a separate thread, and
operations are provided for waiting for asynchronous actions to
complete and obtaining their results (see e.g. wait).
Async :: ThreadId -> STM (Either SomeException a) -> Async a
asyncThreadId :: Async a -> ThreadId
Returns the ThreadId of the thread running
the given Async.