15 Temmuz 2017 Cumartesi

Exchanger Sınıfı

Giriş
Şu satırı dahil ederiz
import java.util.concurrent.Exchanger;
İki thread arasında nesne değiş tokuşu için kullanılır. Açıklaması şöyle. Yani bu sınıfı T tipi ile kullanmak gerekir. Bu sınıf sadece exchange() metodu sağlar. Her iki thread'de bu metodu çağırmak zorundadır. Birbirlerine veri geçerler.
The Exchanger class in Java can be used to share objects between two threads of type T. The class provides only a single overloaded method exchange(T t).

When invoked exchange waits for the other thread in the pair to call it as well. At this point, the second thread finds the first thread is waiting with its object. The thread exchanges the objects they are holding and signals the exchange, and now they can return.

constructor
Şöyle yaparız.
Exchanger<String> exchanger = new Exchanger<String>();
exchange metodu
İlk thread, ikinci thread'in sonucunu okur ve ikinci thread'e boş bir string gönderir. Şöyle yaparız.
// Wait for thread's output
String data;
try {
  data = exchanger.exchange("");
} catch (InterruptedException e1) {
  // Handle Exceptions
}
İkinci thread bir sonuç döner. Şöyle yaparız.
try {
   exchanger.exchange(data)
} catch (InterruptedException e) {

}

Hiç yorum yok:

Yorum Gönder