Připojte se k Javě - Join Java
![]() | tento článek příliš spoléhá na Reference na primární zdroje.Březen 2011) (Zjistěte, jak a kdy odstranit tuto zprávu šablony) ( |
Paradigma | Procesní, Reflexní |
---|---|
Navrhl | G. Stewart von Itzstein |
Poprvé se objevil | 2000 |
webová stránka | joinjava.unisa.edu.au |
Ovlivněno | |
Jáva |
Připojte se k Javě je programovací jazyk založeno na spojovací vzor který rozšiřuje standard Programovací jazyk Java se spojovací sémantikou spojovací počet. Bylo to napsáno na University of South Australia v laboratoři Reconfigurable Computing Lab od Dr. Von Itzsteina.
Jazyková charakteristika
Rozšíření Join Java představuje tři nové jazykové konstrukce:
- Připojte se k metodám
- Asynchronní metody
- Modifikátory třídy objednávky pro určení pořadí, ve kterém se vzory shodují
Souběžnost v nejpopulárnějších programovacích jazycích je implementována pomocí konstrukcí, jako jsou semafory a monitory. Objevují se knihovny (například knihovna souběžnosti Java JSR-166), které poskytují sémantiku souběžnosti na vyšší úrovni. Communicating Sequential Processes (CSP), Calculus of Communicating Systems (CCS) a Pi mají synchronizační chování vyšší úrovně definované implicitně prostřednictvím složení událostí na rozhraních souběžných procesů. Naproti tomu join calculus má explicitní synchronizaci založenou na lokalizovaném spojení událostí definovaných jako pravidla redukce. Připojte se k sémantice a pokuste se poskytnout explicitní výrazy synchronizace, aniž byste porušili objektově orientovanou myšlenku modularizace, včetně dynamického vytváření a ničení procesů a kanálů.
Jazyk Join Java dokáže vyjádřit prakticky všechny publikované vzory souběžnosti bez výslovného použití volání na nízké úrovni monitoru. Programy Join Java jsou obecně stručnější než jejich ekvivalenty Java. Režie zavedená v Join Java pomocí výrazů vyšší úrovně odvozených z join Calculus je zvládnutelná. Synchronizační výrazy přidružené k monitorům (čekat a upozorňovat), které se obvykle nacházejí v těle metod, lze nahradit výrazy Join Java (metody Join), které tvoří součást podpisu metody.
Připojte se k metodám
Metoda spojení je definována dvěma nebo více fragmenty spojení. Metoda Join willexecute, jakmile budou volány všechny fragmenty vzoru join. Pokud je návratovým typem standardní typ Java, pak vedoucí fragment zablokuje volajícího, dokud není vzor join kompletní a metoda není provedena. Pokud je návratový typ typu signál pak se vedoucí fragment okamžitě vrátí. Všechny koncové oblasti fragmentů synchronní, takže volajícího nezablokuje.
Příklad:
třída PřipojitPříklad { int fragment1() & fragment2(int X) { // vrátí hodnotu x // volajícímu fragmentu1 vrátit se X; } }
Modifikátory objednávání
Fragmenty spojení lze opakovat ve více vzorcích spojení, takže může dojít k případu, kdy je při volání fragmentu dokončeno více vzorů spojení. Takový případ může nastat v příkladu níže, pokud B (), C () a D () pak A ( ) jsou nazývány. Konečný fragment A () dokončuje tři vzory, takže existují tři možné metody, které lze volat. The objednal Zde se používá classmodifier k určení, která metoda Join bude volána. Výchozí a při použití neuspořádaný modifikátor třídy je náhodně vybrat jednu z metod. S objednalmodifikátor jsou metody upřednostněny podle pořadí, ve kterém jsou deklarovány.
Příklad:
třída objednal SimpleJoinPattern { prázdnota A() & B() { } prázdnota A() & C() { } prázdnota A() & D() { } signál D() & E() { } }
Asynchronní metody
Asynchronní metody jsou definovány pomocí signálnávratový typ. To má stejné vlastnosti jako prázdnotazadejte kromě toho, že se metoda vrátí okamžitě. Když se nazývá asynchronní metoda, vytvoří se nové vlákno pro provedení těla metody.
Příklad:
třída Příklad vlákna { signál vlákno(SomeObject X) { // tento kód se spustí v novém vlákně } }
Související jazyky
Polyfonní C ostrý je nejbližší příbuzný jazyk.
Cω nástupce Polyphonic C sharp.
Hardware Připojte se k Javě jazyk dále rozšířen Připojte se k Javě a implementujte sémantiku hardwaru. Tento jazyk rozšířil sémantiku spojení Java na FPGA aplikace.
Reference
- von Itzstein, G, Stewart. a Jasiunas, M (2003). O implementaci souběžnosti na vysoké úrovni v Javě. Advances in Computer Systems Architecture 2003, Aizu Japan, Springer Verlag.
- von Itzstein, G, Stewart. a D. Kearney (2002). Aplikace Join Java. Sborník příspěvků ze sedmé asijsko-tichomořské konference o architektuře počítačových systémů ACSAC'2002. Melbourne, Austrálie, Australská počítačová společnost: 1–20.
- von Itzstein, G, Stewart. a D. Kearney (2004). Vyjádření společných vzorů souběžnosti ve spojení Java. Mezinárodní konference o paralelních a distribuovaných technikách a aplikacích zpracování, Las Vegas.
- Hopf, J., von Itzstein, G, Stewart a kol. (2002). Hardware Join Java: High Level Language for Reconfigurable Hardware Development. Mezinárodní konference o programovatelných technologiích v terénu, Hongkong.