JR (Java extension) [Topic unique] - Divers - Programmation
Marsh Posté le 28-06-2006 à 23:51:30
1er exemple : les pointeurs de fonctions (en java!)
en JR, le mot clé op signifie que c'est une méthode JR (sinon c'est une méthode "normale" traité par le complilateur java)
le mot clé cap permet de référencer une méthode (plus précisément un op)
Code :
|
output :
|
Marsh Posté le 28-06-2006 à 23:57:21
JR et threads
Voyons comme il est simple d'implémenter des processus en JR (par rapport à Java)
N processes sont lancés et sont S boucles.
QuiescenceAction est appelé lorsque tout les processus sont inactifs
Code :
|
Marsh Posté le 29-06-2006 à 00:06:07
Même exemple, mais avec la modification d'une variable partagée. L'accès exclusif à cette variable est assuré à l'aide des semaphores mot clé sem
L'opération P() est bloquante tant qu'un process n'y est pas sorti par V()
Code :
|
Marsh Posté le 22-09-2006 à 00:04:17
implémentation producteurs / consommateurs avec sémaphores
Code :
|
Marsh Posté le 22-09-2006 à 00:07:54
Même problème, résolu bien plus élégamment avec les Rendez-vous (inni)
le mot clé st (such that) permet de déterminer si la méthode peut-être appelé ou non. Si ça n'est pas le cas, le message est mis en attente
Code :
|
Marsh Posté le 22-09-2006 à 00:13:07
Calcul numérique de l'aire d'une fonction avec la précision voulu à l'aide de processus travailleurs
Code :
|
Marsh Posté le 22-09-2006 à 00:23:02
jagstang a écrit :
|
il est lancé quand ton beans là ? le main appelle que dalle ...
Marsh Posté le 22-09-2006 à 00:24:00
les process sont lancés avant le main
Marsh Posté le 22-09-2006 à 00:24:21
sinon les pointeurs de fonctions ... je vois pas l'intérêt par rapport à une bête interface ...
Marsh Posté le 22-09-2006 à 00:24:49
jagstang a écrit : les process sont lancés avant le main |
c'est à dire ? à quel moment ? qu'est ce qui délcenche le lancement ?
Marsh Posté le 22-09-2006 à 00:26:04
les pointeurs de fonction c'est en effet un détail. l'intérêt principal de ce langage réside dans la facilité à créer des programmes concurrents, voir distribués
Marsh Posté le 22-09-2006 à 00:28:22
j'ai pas étudié en détail java.util.concurrency de java1.5, mais ca m'a lair de contenir déjà tout ce qu'il faut ... t'as comparé ton JR par rapport à ça ?
Marsh Posté le 22-09-2006 à 00:29:32
je les ai pas étudié non plus je peux donc pas te répondre
Marsh Posté le 22-09-2006 à 00:30:39
ce qui est sûr, c'est que JR génère des fichiers java (une dizaine environ) pour créer l'application. L'intérêt est donc dans la simplicité d'utilisation.
La syntaxe est celle de SR
Marsh Posté le 28-06-2006 à 23:42:53
Il s'agit d'un langage de programmation concurrent qui étend Java, au détail près que les mécanismes concurrents sont beaucoup plus simple à implémenter qu'en Java.
L'idéal pour se familiariser avec les sémaphores, les messages asynchrones, les RPC, rendezvous, pointeurs de fonction (en java!)
page officielle : http://www.cs.ucdavis.edu/~olsson/research/jr/
The JR programming language extends Java to provide a rich concurrency model, based on that of the SR concurrent programming language. JR provides dynamic remote virtual machine creation, dynamic remote object creation, remote method invocation, asynchronous communication, rendezvous, and dynamic process creation. JR takes a novel object-oriented approach to synchronization, which leads to more flexible programming of concurrent applications like servers. JR can, depending on one's particular definitions, also be considered a distributed programming language or a parallel programming language.
JR programs are written in an extended Java and then translated into standard Java programs. The JR run-time support system is also written in standard Java. JR runs on UNIX-based systems (Linux, Solaris, Mac OS X) and Windows.
The JR_distribution includes the JR translator; the JR virtual machine (JRVM); the JR verification tool and test suite (jrv, for checking proper functioning of the JR implementation); documentation; numerous JR example programs; and preprocessors that convert other concurrency notations (CCRs, monitors, and CSP) into JR.
---------------
What if I were smiling and running into your arms? Would you see then what I see now?