отличная компиляция знатока

Простейшим объяснением было бы выполнение Runnable, мы можем назначить один и тот же объект нескольким потокам, и каждый Thread разделяет одни и те же состояния объекта и поведение.

Например, предположим, что есть два потока, thread1 помещает целое число в массив, а thread2 берет целые числа из массива, когда массив заполняется. Обратите внимание, что для работы thread2 необходимо знать состояние массива, заполнил ли thread1 его или нет.

Реализация Runnable позволяет вам иметь такую ​​гибкость для совместного использования объекта, тогда как extends Thread позволяет создавать новые объекты для каждого потока, поэтому любое обновление, которое выполняется потоком 1, теряется потоком 2.

12
задан yegor256 10 April 2011 в 02:29
поделиться

3 ответа

Вы сможете скомпилировать свой код, добавив плагин gmaven в свой maven pom.xml. Он генерирует Java-заглушки вашего отличного кода, чтобы иметь дело с типом межъязыковых ссылок, с которым вы имеете дело. Я использую его довольно часто, и он очень хорошо работает.

8
ответ дан 26 October 2019 в 10:46
поделиться

Да, просто используйте GMaven . Поскольку это совместный компилятор, он автоматически переводит вашу java в groovy и groovy в зависимости java.

Вкратце, вам нужно:

  • включить gmaven-plugin в ваш pom. xml ;
  • храните свои классы groovy в src / main / groovy или src / test / groovy ;
  • привяжите плагин gmaven к соответствующим фазам жизненного цикла.

Подробнее см. создание отличных проектов .

11
ответ дан 26 October 2019 в 10:46
поделиться

Вы можете разделить свой код на слои и сделать так, чтобы нижние уровни вызывали верхние уровни, но никогда не наоборот. Например, в веб-приложении у вас может быть уровень представления, уровень сервиса и уровень сохраняемости. Уровень представления вызывает уровень обслуживания, а уровень обслуживания вызывает уровень сохраняемости, но уровень сохраняемости никогда не будет вызывать уровень обслуживания или уровень представления. Если вы хотите, чтобы код groovy / java существовал на одном уровне, убедитесь, что один вызывает другой, но оба они не вызывают друг друга. Суть в том, что вам следует избегать двунаправленных зависимостей.

0
ответ дан 26 October 2019 в 10:46
поделиться
Другие вопросы по тегам:

Похожие вопросы: