2012-12-05 98 views

回答

1

足夠在線程之間傳遞原始音頻或視頻?應該是可持續的 ?

這取決於您的實施。最終,您需要基於共享內存或基於深度複製的通信。如果要發送數據副本(或連續的數據塊副本),則會產生性能開銷,但不是由於Handlers,而是由於實際的內存複製。

這是因爲Handlers僅僅發送&句柄Message的對象。您可以使用Messageobj字段傳遞任何對象引用,即可以使用它來發送(同步)引用到任何數據。如果您將原始引用發送給某些數據,則它將像共享內存通信一樣。如果您先製作數據的副本,並將參考發送給該副本,則基本上是進行深度複製。無論哪種情況,您都在使用相同的進程內存區域,因此可持續性取決於通信協議,而不是Handlers。 (顯然,如果你發送一個Message爲每個int的音頻/視頻數據的值,它將會非常慢。)