static void Main(string[] args) { RemoteServerGroup.Initiate(args); // Inicjalizacja singletona Remote Server Group // Tutaj powinny zostać stworzone wszystkie Monitory i zmienne warunkowe BufforMonitor sharedBufforMonitor = new BufforMonitor(3, RemoteServerGroup.Instance.NodeAddressNumber); ConditionalVariable empty = new ConditionalVariable("Empty", sharedBufforMonitor); ConditionalVariable full = new ConditionalVariable("full", sharedBufforMonitor); RemoteServerGroup.StartRemoteExecution(); // Barriera zapewniająca, że wszystkie servery wykonają poprawnie całą inicjalizację obiektów if (RemoteServerGroup.Instance.NodeAddressNumber < 2) { Consumer consumer = new Consumer(empty, full, sharedBufforMonitor); consumer.Consume(); } else { Producer producer = new Producer(empty, full, sharedBufforMonitor); producer.Produce(); } RemoteServerGroup.Finish(); }
public Sender(RemoteServerGroup remoteServGr) : base(remoteServGr) { }
public Receiver(RemoteServerGroup remoteServGr) : base(remoteServGr) { }
protected Messenger(RemoteServerGroup remoteServGr) { RemoteServGr = remoteServGr; }