$id: название файла, создание даты/времени $ Exp

Производитель и потребитель могут общаться двумя способами: синхронно и асинхронно.

В синхронном (основанном на извлечении) потребителе является потоком, и используется некоторый промежуточный объект коммуникатора. Обычно это очередь блокировки. В особом случае, когда во время всей связи производитель-потребитель передается только одно значение, может использоваться коммуникатор, который реализует интерфейс Future. Этот способ называется синхронным, поскольку потребитель вызывает вызывающий метод, такой как Future.get(), и эти методы ждут, когда значение станет доступным, а затем возвращаются с этим значением в качестве результата. То есть запрос значения и его получение запрограммированы в одном и том же выражении, хотя эти действия могут быть разделены во времени.

Недостаток синхронной связи заключается в том, что когда потребитель ожидает запрошенного значения, он тратит значительный объем памяти для своего стека потоков. В результате мы можем иметь только ограниченное количество действий, которые ждут данных. Например, это могут быть интернет-соединения, обслуживающие нескольких клиентов. Чтобы увеличить это число, мы можем представить потребителя не как поток, а как некоторый относительно небольшой объект с методами, вызываемыми производителем или коммуникатором, когда данные для потребителя доступны. Этот способ называется асинхронным. Он разделен на 2 действия: запрос производителя на передачу данных и передачу этих данных потребителю. Это асинхронный (push-based) метод.

Теперь ответ на вопрос: Future может выступать только в качестве синхронного коммуникатора (с методами get), а Mono может использоваться как в качестве синхронного коммуникатора (с методами block), так и как асинхронный (с subscribe методами).

Обратите внимание, что java.util.concurrent.CompletableFuture также может действовать как синхронный и асинхронный коммуникатор. Зачем иметь похожие средства, чтобы делать то же самое? Это явление называется , а не изобретено здесь .

9
задан Jonathan Leffler 3 May 2015 в 02:36
поделиться

5 ответов

Системы управления версиями, такие как CVS могут произвести такие теги.

6
ответ дан 4 December 2019 в 11:44
поделиться

И RCS и CVS производят строки, которые точно походят на это.

3
ответ дан 4 December 2019 в 11:44
поделиться

Замена ключевого слова в подверсии производит этот вид информации, в особенности идентификатор:

Идентификатор

Это ключевое слово является сжатой комбинацией других ключевых слов. Его замена смотрит что-то как $Id: $ calc.c 148 2006-07-28 21:30:43Z вылазки, и интерпретируется, чтобы означать, что файл calc.c был в последний раз изменен в пересмотре 148 вечером от 28 июля 2006 пользовательской вылазкой.

Можно сказать подверсии вставлять эти значения с помощью svn:keywords

Для сообщения Подверсии, заменить ли ключевыми словами на конкретном файле мы снова обращаемся к связанным со свойством подкомандам. svn:keywords свойство, когда установлено на имеющем версию файле, средства управления, какими ключевыми словами заменят на том файле. Значение является разделенным пробелами списком имен ключевого слова или искажает найденный в предыдущей таблице

Можно также сделать эти замены автоматическими путем редактирования конфигурации:

Подверсия также обеспечивает функцию автоопор, которая позволяет Вам создавать отображения шаблонов имени файла к именам свойства и значениям. Эти отображения сделаны в Вашей области конфигурации во время выполнения. Они снова влияют, добавляет и импортирует и не только может переопределить любое решение типа MIME по умолчанию, принятое Подверсией во время тех операций, они могут также установить дополнительную Подверсию или пользовательские свойства, также. Например, Вы могли бы создать отображение, которое говорит, что любое время, Вы добавляете файлы JPEG — которые соответствуют шаблону *.jpg — Подверсия, должно автоматически установить свойство svn:mime-типа на тех файлах к image/jpeg. Или возможно любые файлы, которые соответствуют *.cpp, должны иметь набор svn:eol-стиля собственному компоненту и набор svn:keywords к идентификатору. Поддержка автоопоры является, возможно, самым удобным связанным со свойством инструментом на панели инструментов Subversion. Посмотрите раздел под названием “Конфигурация” для больше о конфигурировании той поддержки.

7
ответ дан 4 December 2019 в 11:44
поделиться

Я видел несколько установок энергии, которые автоволшебно заполнят эти значения. SVN может захватить эти значения на пред, и сообщение передают рычаги для заполнения информации по умолчанию в журналах фиксации.

2
ответ дан 4 December 2019 в 11:44
поделиться

По необходимости поддержки некоторые (не уверенный во всех) тех ключевых слов.

0
ответ дан 4 December 2019 в 11:44
поделиться
Другие вопросы по тегам:

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