[NAME] ALL.dao.concurrent.async-call [TITLE] 异步函数调用 [DESCRIPTION] 异步函数调用(Asynchronous Function Call, AFC)将使一个函数调用作为轻任务执行。 它将立即返回 一个未来值以操作该轻任务(比如阻塞当前任务以等待该任务)。 任何一个函数调用后加!!将使该调用变成异步调用。 1 routine MyFunction( n = 10 ) 2 { 3 for(var i = 1 : n ) io.writeln( i ) 4 } 5 var f = MyFunction( 20 ) !! 6 io.writeln( f.value() ) 当一个类实例的多个方法被以异步函数调用的方式执行时,它们的执行将是互斥的, 也就是说,在任何时 刻都最多只有一个方法的异步调用(轻任务)被执行。 这样类实例的行为跟 monitor 一样。