Yanıtlar:
oneway
farklı iş parçacıkları veya uygulamalar arasında amaç-c nesnelerinin kullanımına izin veren dağıtılmış nesneler API'si ile kullanılır. Sisteme, yöntem dönene kadar çağıran iş parçacığını engellememesi gerektiğini söyler. Bu olmadan, yöntemin dönüş türü geçersiz olsa bile çağıran engelleyecektir. Açıkçası, hiçbir zaman void dışında bir şeyle kullanılmaz, çünkü böyle yapmak, yöntemin bir şey döndürdüğü anlamına gelir, ancak arayan bunu anlamaz.
Dağıtılmış nesneler hakkında daha fazla bilgi için bkz. Cocoa Conceptual DistrObjects .
Apple'ın belgelerine göre tek yönlü, yalnızca dağıtılmış nesne için kullanılır (ve çoklu okuma için değil).
Tek yönlü değiştirici, yalnızca nesne uzaksa kullanılır. Bu durumda, serbest bırakma çağrısı eşzamansız olarak geri dönebilir (yöntem sonlandırılmadan önce). Bir ağda bu mantıklıdır çünkü bir geri dönüş mesajını beklemek biraz zaman alabilir.
Release yönteminin dönüş değeri yoktur ve bu nedenle çağrı eşzamansız olarak çalıştırılabilir. Bunun aksine, saklama ve otomatik bırakma bir id döndürür ve bu nedenle geri dönüş mesajının ağ boyunca aktarılmasını beklememiz gerekir.
oneway
Anahtar sözcüğün kullanılması, çağrılan yöntem yürütülürken mesajın çağıran iş parçacığını engellememesine neden olursa, bu, çağrılan yöntemin ikinci bir iş parçacığında yürütülmesini sağlar. Bu çok görevli değil mi (en basit haliyle)? Bunu, bazı küçük işlemleri hızla (fazla çaba harcamadan) başka bir iş parçacığına ayırmak için kullanabilir miyim ? Çok teşekkür ederim.
- (oneway void) release
o zaman ne olacak ? Başka bir makinede veya işlemde değil.
one way
bir yöntemi tanımlamak anlamına gelir don't wait for the method to complete and return anything. block it if there is any n/w trafic or so.
Mantıklı geliyor muyum?
oneway void
kodlamada bazen gördüğümüz o güzel tesadüfi metaforlardan biridir, bu durumda ölüm için. "Diğer tarafta bir şey varsa, bize söyleme."