2008/11/3

2.3.2.深入第一個訊息傳遞

Pd每當一個訊息被初始化,接收器然後可以依序發送了進一步的訊息,而且這些訊息的接收器可以進而發送給其他接收。因此,每個訊息設立了相應訊息的樹狀。此樹狀是執行在深入的初次種類。例如下面的patch

訊息抵達的順序不是A-B-C-D就是A-C-D-B。「 C 」訊息是沒有動作,直到「 D 」訊息也是,和「A」是沒有執行,直到所有四個也是,其中的「 B 」或「 C 」是誰先執行是不確定的;這要取決於您作出什麼順序的連結(在MAX時,它會自動排序從右至左) 。

訊息傳遞可以帶來無限循環的排序在這裡顯示:

在這裡,左手邊的"+"不能完成處理,直至右手邊的"+"已發送的結果「 2 」,不能完成處理,直至左手邊的"+"已被送往「3」,等等在之上。Pd將輸出錯誤訊息報告"stack overflow"如果發生這種情況。

不過,這是合法作出迴圈,如果有一個"delay"物件在某處。當"delay"收到一個訊息,它的附表一個訊息,為將來(即使時間延遲是0 )和然後「完成」;pd的內部調度會後,延遲會稍後。

沒有留言: