Académique Documents
Professionnel Documents
Culture Documents
Channel
10
Concepts de base (1/3)
Bloquant Bloquant : l'émetteur et le récepteur sont bloquées jusqu'à ce
que le message est délivré.
La communication ne peut être effective que lorsque le processus émetteur
est prêt à effectuer l'opération envoyer et que le récepteur est prêt à
recevoir une information.
11
Concepts de base (2/3)
12
Concepts de base (3/3)
La notion de « Channel »
14
Passage de messages Synchrone en Java
La classe SynchronousQueue<T>
Sender SynchronousQueue<T> q
Receiver
q.put(e) v=q.take()
one-to-one
Hello Hello
West Copy East
17
Solution
class Copy extends Thread{ class West extends Thread{ class East extends Thread{
SynchronousQueue<String> chan1 SynchronousQueue<String> chan SynchronousQueue<String> chan
SynchronousQueue<String> chan2 West(SynchronousQueue<String> c){ East(SynchronousQueue<String> c){
Copy(SynchronousQueue<String> c1, chan=c;} chan=c;}
SynchronousQueue<String> c2){ public void run(){ public void run(){
chan1=c1; chan2=c2;} while (true) while (true)
public void run(){ chan.put(new String ( String v= Null;
while (true){ “Hello“)); v=chan1.take()
String v= Null; }} }}
v=chan1.take();
chan2.put(v); }}}