async
関数を抜けるまでは Task
を専有してないといけないけど、 @asyncHandler
が付与された関数が同期的に実行されるなら bar
の呼び出し元と bar
の中は同じ Task
に属していなければならない。そうすると bar
の中の await
(suspension point) で bar
を抜けたときに呼び出し元の bar
の後続処理が、 bar
が専有しているはずの Task
で行われてしまっておかしい、と。Task
だけ切り替えることは絶対できないんだっけ?できなさそうな気がするけど確信が持てない。