antcallは別スレッドで走る?

<target name="x">
 <antcall target="a" />
 <antcall target="b" />
</target>
<target name="a">
 (それなりに重いタスク群A)
</target>
<target name="b">
 (それなりに重いタスク群B)
</target>

とか書いてxを実行すると、aとbが同時に実行されてしまうようだ。
順番に1つずつ処理させるには、

<target name="x" depends="b">
</target>
<target name="a">
 (それなりに重いタスク群A)
</target>
<target name="b" depends="a">
 (それなりに重いタスク群B)
</target>

とするか、

<target name="x">
 (それなりに重いタスク群A)
 (それなりに重いタスク群B)
</target>

とするか・・・。
という理解でいいのかな?
そもそもAntの思想の理解が不足してるような気がする。