Jump to content

Присоединяйтесь к Java

Присоединяйтесь к Java
Парадигма Процедурный , Рефлексивный
Разработано Г. Стюарт фон Ицштайн
Впервые появился 2000  ( 2000 )
Веб-сайт joinjava.unisa.edu.au
Под влиянием
Ява

Join Java — это язык программирования, основанный на шаблоне соединения , который расширяет стандартный язык программирования Java семантикой соединения исчисления соединения . Он был написан доктором фон Ицштейном в Университете Южной Австралии в Лаборатории реконфигурируемых вычислений.

Языковые характеристики [ править ]

Расширение Join Java представляет три новые языковые конструкции:

  • Методы присоединения
  • Асинхронные методы
  • Модификаторы класса заказа для определения порядка сопоставления шаблонов

Параллелизм в большинстве популярных языков программирования реализуется с помощью таких конструкций, как семафоры и мониторы. Появляются библиотеки (например, библиотека Java JSR-166), обеспечивающие семантику параллелизма более высокого уровня. взаимодействующие последовательные процессы (CSP), Исчисление коммуникационных систем (CCS) и Pi имеют поведение синхронизации более высокого уровня, определенное неявно через композицию событий на интерфейсах параллельных процессов. Исчисление соединений, напротив, имеет явную синхронизацию, основанную на локализованном соединении событий, определенных как правила сокращения. Семантика соединения пытается обеспечить явные выражения синхронизации, не нарушая объектно-ориентированную идею модульности, включая динамическое создание и уничтожение процессов и каналов.

Язык Join Java может выражать практически все опубликованные шаблоны параллелизма без явного обращения к вызовам монитора низкого уровня. В целом программы Join Java более лаконичны, чем их эквиваленты на Java. Накладные расходы, возникающие в Join Java из-за выражений более высокого уровня, полученных из исчисления Join, являются управляемыми. Выражения синхронизации, связанные с мониторами (ожидание и уведомление), которые обычно расположены в теле методов, могут быть заменены выражениями Java Join (методами Join), которые составляют часть сигнатуры метода.

Методы присоединения [ править ]

Метод Join определяется двумя или более фрагментами Join. Метод соединения будетвыполнить после вызова всех фрагментов шаблона соединения.Если тип возвращаемого значения является стандартным типом Java, тогда ведущий фрагмент будетзаблокируйте вызывающего абонента до тех пор, пока шаблон соединения не будет завершен и метод не будетказнен. Если возвращаемый тип имеет тип сигнала , товедущий фрагмент вернется немедленно. Все конечные фрагментыасинхронный, поэтому не будет блокировать вызывающего абонента.

Пример:

 class   JoinExample   {      int   фрагмент1  ()   &   фрагмент2  (  int   x  )   {         // вернет значение x         // вызывающей стороне фрагмента 1         return   x  ;      }   } 

Модификаторы порядка [ править ]

Фрагменты соединения могут повторяться в нескольких шаблонах соединения, поэтому можнослучай, когда при вызове фрагмента завершается несколько шаблонов соединения.Такой случай может произойти в приведенном ниже примере, если B(), C() и D(), а затем A() являютсяназывается. Последний фрагмент A() завершает три шаблона, поэтому естьтри возможных метода, которые можно вызвать. Заказанный класс Здесь используется модификатор, чтобы определить, какой метод соединения будет вызван.По умолчанию и при использовании модификатора неупорядоченного класса:случайным образом выбрать один из методов. С заказанным модификатор, приоритеты методов устанавливаются в соответствии с порядком их объявления.

Пример:

  класс  упорядоченный   SimpleJoinPattern   {      void   A  ()   &   B  ()   {      }      void   A  ()   &   C  ()   {      }      void   A  ()   &   D  ()   {      }      signal   D  ()   &   E  ()   {      }   } 

Асинхронные методы [ править ]

Асинхронные методы определяются с помощью сигнала тип возвращаемого значения. Имеет те же характеристики, что и пустота. type, за исключением того, что метод вернет результат немедленно. Когда асинхронныйметод вызывается, создается новый поток для выполнения тела метода.

Пример:

 class   ThreadExample   {      signal   thread  (  SomeObject   x  )   {         // этот код будет выполняться в новом потоке      }   } 

Родственные языки [ править ]

Полифонический до-диез — ближайший родственный язык.
— преемник полифонического до-диез.

Язык Hardware Join Java дополнительно расширил Join Java для реализации семантики оборудования. Этот язык расширил семантику Join Java на приложения FPGA .

Ссылки [ править ]

  • фон Ицштейн, Дж., Стюарт. и Ясюнас, М. (2003). О реализации параллелизма высокого уровня в Java. Достижения в архитектуре компьютерных систем 2003, Aizu Japan, Springer Verlag.
  • фон Ицштейн, Дж., Стюарт. и Д. Кирни (2002). Приложения Join Java. Материалы седьмой Азиатско-Тихоокеанской конференции по архитектуре компьютерных систем ACSAC'2002. Мельбурн, Австралия, Австралийское компьютерное общество: 1–20.
  • фон Ицштейн, Дж., Стюарт. и Д. Кирни (2004). Выражение общих шаблонов параллелизма в Join Java. Международная конференция по методам и приложениям параллельной и распределенной обработки, Лас-Вегас.
  • Хопф Дж., фон Ицштайн Г., Стюарт и др. (2002). Аппаратное обеспечение Java: язык высокого уровня для разработки реконфигурируемого оборудования. Международная конференция по программируемым технологиям, Гонконг.

Внешние ссылки [ править ]

Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: d866384c8456d828d06d4013231c9666__1685437080
URL1:https://arc.ask3.ru/arc/aa/d8/66/d866384c8456d828d06d4013231c9666.html
Заголовок, (Title) документа по адресу, URL1:
Join Java - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)