RPC Vs RMI Άλκης Γεωργόπουλος Αλέξανδρος Καρακασίδης Γεωργία Καστίδου Γεωργία Κολωνιάρη Αναστάσιος Κοντογιώργης Ηλίας Λεοντιάδης Μαρία Παπαφώτη Γιάννης Πετράκης Στέφανος Πέτσιος Παναγιώτης Σαλτέας - Καλογεράς
Πλεονεκτήματα RPC Υποστηρίζει πολλές γλώσσες προγραμματισμού Λόγω του IDL μπορεί να τρέξει σε διαφορετικά συστήματα Πολυνηματικοί client και server
Μειονεκτήματα RPC Χρειάζεται compiling της εφαρμογής σε κάθε διαφορετική μηχανή Επιπλέον φόρτος λόγω marshalling των δεδομένων Περιορισμοί στους τύπους δεδομένων (ορίσματα, επιστρεφόμενες τιμές)
Πλεονεκτήματα RMI Dynamic class loading –από server σε client –από client σε server Object oriented (πολυμορφισμός) Code migration
Μειονεκτήματα RMI Το RMI είναι σημαντικά πιο αργό από το RPC –είναι interpreted –γίνεται μετακίνηση κώδικα Απαιτείται η ύπαρξη της JVM
POSIX threads Vs Java threads
Java ThreadsPOSIX Threads Thread CreationInstantiate a thread objectpthread_create() Thread Joinjoin() methodpthread_join() Thread Exitstop() method deprecatedpthread_exit() Yieldyield() methodsched_yield() Get Thread IDgetName() methodpthread_self() Kill Threadstop() method deprecatedpthread_kill() Mutex LockMonitorspthread_mutex_lock() Condition Variable wait() and notify()pthread_cond_wait(), methodspthread_cond_signal SemaphoresNot Availablesem_wait(), sem_post() Attribute ObjectsNot Availablepthread_attr_*calls Thread SpecificationsNot Available pthread_setspecific, pthread_getspecific Thread PrioritiessetPriority() methodpthread_setschedparam() Thread Cancellation stop() method deprecated, pthread_cancel() calls catch ThreadDeath