Spec-Zone.ru › Scala 2.13 Library

Объект scala.concurrent.Await

объект Await

Await используется для обеспечения надлежащего обработки блокировок для Awaitable экземпляров.

Хотя иногда полезно, например, для тестирования, рекомендуется избегать использования Await всякий раз, когда это возможно — отдавая предпочтение комбинаторам и/или обратным вызовам. Методы result и ready Await будут блокировать выполнение вызывающей нити до возвращения, что приведет к ухудшению производительности и, возможно, к проблемам с тупиком.

Источник
package.scala
Линейные супертипы
AnyRef, Any

Члены-значения

final def !=(arg0: Any): Boolean

Проверка двух объектов на неравенство.

возвращает

true если !(this == that), в противном случае false.

Определяющие классы
AnyRef → Any

final def ##(): Int

Эквивалентно x.hashCode за исключением упакованных числовых типов и null. Для числовых типов возвращает значение хэша, согласованное с равенством значений: если две инстанции типа значения сравниваются как true, тогда ## вернёт одинаковое значение хэша для каждой из них. Для null возвращает хэш-код, где null.hashCode вызывает NullPointerException.

возвращает

значение хэша, согласованное с ==

Определяющие классы
AnyRef → Any

final def ==(arg0: Any): Boolean

Выражение x == that эквивалентно if (x eq null) that eq null else x.equals(that).

возвращает

true если объект-получатель эквивалентен аргументу; false в противном случае.

Определяющие классы
AnyRef → Any

final def asInstanceOf[T0]: T0

Приведение объекта-получателя к типу T0.

Обратите внимание, что успех приведения в рантайме зависит от семантики стирания Scala. Поэтому выражение 1.asInstanceOf[String] выбросит ClassCastException во время выполнения, в то время как выражение List(1).asInstanceOf[List[String]] нет. В последнем примере, так как тип аргумента стирается во время компиляции, невозможно проверить, соответствуют ли содержимое списка нужному типу.

возвращает

объект-получатель.

Определяющие классы
Any
Исключения

ClassCastException, если объект-получатель не является экземпляром стирания типа T0.

def clone(): AnyRef

Создаёт копию объекта-получателя.

По умолчанию реализация метода clone зависит от платформы.

возвращает

копию объекта-получателя.

Атрибуты
protected[java.lang]
Определяющие классы
AnyRef
Аннотации
@throws(classOf[java.lang.CloneNotSupportedException]) @native()
Примечание

не указано в SLS как член AnyRef

final def eq(arg0: AnyRef): Boolean

Проверяет, является ли аргумент (that) ссылкой на объект-получатель (this).

Метод eq реализует отношение эквивалентности на не-null экземплярах AnyRef, и имеет три дополнительных свойства:

    Он согласован: для любых не-null экземпляров x и y типа AnyRef, многократные вызовы x.eq(y) последовательно возвращают true или последовательно возвращают false.Для любого не-null экземпляра x типа AnyRef, x.eq(null) и null.eq(x) возвращают false. null.eq(null) возвращает true.

При переопределении методов equals или hashCode важно гарантировать, что их поведение согласуется с равенством ссылок. Таким образом, если два объекта являются ссылками друг на друга (o1 eq o2), они должны быть равны друг другу (o1 == o2) и их хэши должны быть одинаковыми (o1.hashCode == o2.hashCode).

возвращает

true если аргумент является ссылкой на объект-получатель; false в противном случае.

Определяющие классы
AnyRef

def equals(arg0: AnyRef): Boolean

Метод равенства для ссылочных типов. Реализация по умолчанию делегирует eq.

См. также equals в scala.Any.

возвращает

true если объект-получатель эквивалентен аргументу; false в противном случае.

Определяющие классы
AnyRef → Any

def finalize(): Unit

Вызывается сборщиком мусора для объекта-получателя, когда к объекту больше нет ссылок.

Подробности о том, когда и если вызывается метод finalize, а также взаимодействие между finalize и нелокальными возвратами и исключениями, зависят от платформы.

Атрибуты
protected[java.lang]
Определяющие классы
AnyRef
Аннотации
@throws(classOf[java.lang.Throwable])
Примечание

не указано в SLS как член AnyRef

final def getClass(): Class[_ <: AnyRef]

Возвращает представление класса объекта в рантайме.

возвращает

объект класса, соответствующий типу получателя в рантайме.

Определяющие классы
AnyRef → Any
Аннотации
@native()

def hashCode(): Int

Метод hashCode для ссылочных типов. См. hashCode в scala.Any.

returns

значение кода хэша для этого объекта.

Definition Classes
AnyRef → Any
Annotations
@native()

final def isInstanceOf[T0]: Boolean

Проверка, является ли динамический тип объекта-приёмника T0.

Обратите внимание, что результат теста определяется в соответствии с семантикой стирания Scala. Поэтому выражение 1.isInstanceOf[String] вернёт false, в то время как выражение List(1).isInstanceOf[List[String]] вернёт true. В последнем примере из-за стирания типа в процессе компиляции невозможно проверить, соответствуют ли содержимое списка указанному типу.

returns

true, если объект-приёмник является экземпляром стёртого типа T0; false в противном случае.

Definition Classes
Any

final def ne(arg0: AnyRef): Boolean

Эквивалентно !(this eq that).

returns

true, если аргумент не является ссылкой на объект-приёмник; false в противном случае.

Definition Classes
AnyRef

final def notify(): Unit

Разбудит один поток, ожидающий монитора объекта-приёмника.

Definition Classes
AnyRef
Annotations
@native()
Примечание

не указан в SLS как член AnyRef

final def notifyAll(): Unit

Разбудит все потоки, ожидающие монитора объекта-приёмника.

Definition Classes
AnyRef
Annotations
@native()
Примечание

не указан в SLS как член AnyRef

final def ready[T](awaitable: Awaitable[T], atMost: Duration): awaitable.type

Ожидание состояния "завершено" для Awaitable.

Хотя этот метод блокирующий, внутреннее использование блокирования гарантирует, что основному контексту выполнения предоставляется возможность должным образом управлять блокировкой.

ПРЕДУПРЕЖДЕНИЕ: Настоятельно не рекомендуется использовать длительные тайм-ауты, поскольку прогресс вызывающего потока будет приостановлен — заблокирован — до тех пор, пока Awaitable не станет готовым или не истечёт тайм-аут.

awaitable

ожидаемое Awaitable

atMost

максимальное время ожидания, которое может быть отрицательным (ожидание не выполняется), Duration.Inf для неограниченного ожидания или конечное положительное время

returns

the awaitable

Annotations
@throws(classOf[TimeoutException]) @throws(classOf[InterruptedException])
Исключения

IllegalArgumentException если atMost равно Duration.Undefined

InterruptedException если текущий поток прерван во время ожидания

TimeoutException если после ожидания указанного времени это Awaitable всё ещё не готово

final def result[T](awaitable: Awaitable[T], atMost: Duration): T

Ожидание и возвращение результата (типа T) Awaitable.

Хотя этот метод блокирующий, внутреннее использование блокирования гарантирует, что основному контексту выполнения предоставляется возможность должным образом управлять блокировкой.

ПРЕДУПРЕЖДЕНИЕ: Настоятельно не рекомендуется использовать длительные тайм-ауты, поскольку прогресс вызывающего потока будет приостановлен — заблокирован — до тех пор, пока у Awaitable не будет результата или не истечёт тайм-аут.

awaitable

ожидаемое Awaitable

atMost

максимальное время ожидания, которое может быть отрицательным (ожидание не выполняется), Duration.Inf для неограниченного ожидания или конечное положительное время

returns

значение результата, если awaitable завершится в пределах указанного максимального времени ожидания

Annotations
@throws(classOf[Exception])
Исключения

IllegalArgumentException если atMost равно Duration.Undefined

InterruptedException если текущий поток прерван во время ожидания

TimeoutException если после ожидания указанного времени awaitable всё ещё не готово

final def synchronized[T0](arg0: => T0): T0

Определяющие классы
AnyRef

def toString(): String

Создаёт строковое представление этого объекта. По умолчанию представление зависит от платформы. На платформе Java это конкатенация имени класса, «@» и хэш-кода объекта в шестнадцатеричном формате.

возвращает

строковое представление объекта.

Определяющие классы
AnyRef → Any

final def wait(): Unit

Определяющие классы
AnyRef
Аннотации
@throws(classOf[java.lang.InterruptedException])

final def wait(arg0: Long, arg1: Int): Unit

Определяющие классы
AnyRef
Аннотации
@throws(classOf[java.lang.InterruptedException])

final def wait(arg0: Long): Unit

Определяющие классы
AnyRef
Аннотации
@throws(classOf[java.lang.InterruptedException]) @native()

© 2002-2019 EPFL, with contributions from Lightbend.
Licensed under the Apache License, Version 2.0.
https://www.scala-lang.org/api/2.13.0/scala/concurrent/Await$.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API