Особенность scala.collection.parallel.TaskSupport
тракт TaskSupport extends Tasks
Абстрактные члены значения
абстрактный val environment: AnyRef
Тип среды более специфичен в реализациях.
- Определяющие классы
- Tasks
абстрактный def execute[R, Tp](fjtask: Task[R, Tp]): () ⇒ R
Выполняет задачу и возвращает будущее значение. Передаёт исключение, если какая-то задача его бросила.
- Определяющие классы
- Tasks
абстрактный def executeAndWaitResult[R, Tp](task: Task[R, Tp]): R
Выполняет задачу, ожидает её завершения, затем возвращает её результат. Передаёт исключение, если какая-то задача его бросила.
- Определяющие классы
- Tasks
абстрактный def parallelismLevel: Int
Возвращает уровень параллелизма среды выполнения задач.
- Определяющие классы
- Tasks
Члены-значения конкретных типов
final def !=(arg0: Any): Boolean
Проверка двух объектов на неравенство.
- возвращает
trueесли !(this == that), иначе false.
- Классы определения
- AnyRef → Any
final def ##(): Int
Эквивалентно x.hashCode, за исключением упакованных числовых типов и null. Для числовых типов возвращает значение хэша, согласованное с равенством значений: если две инстанции типа значения сравниваются как true, то ## вернёт одинаковое значение хэша для каждой из них. Для null возвращает хэш-код, где null.hashCode выбрасывает NullPointerException.
- возвращает
значение хэша, согласованное с ==
- Классы определения
- AnyRef → Any
def +(other: String): String
- Неявный
- Этот член добавлен неявным преобразованием из TaskSupport в any2stringadd[TaskSupport] выполненным методом any2stringadd в scala.Predef.
- Классы определения
- any2stringadd
def ->[B](y: B): (TaskSupport, B)
- Неявный
- Этот член добавлен неявным преобразованием из TaskSupport в ArrowAssoc[TaskSupport] выполненным методом ArrowAssoc в scala.Predef.
- Классы определения
- ArrowAssoc
- Аннотации
- @inline()
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 зависит от платформы.
- возвращает
копию объекта-получателя.
def ensuring(cond: (TaskSupport) ⇒ Boolean, msg: ⇒ Any): TaskSupport
- Неявный
- Этот член добавлен неявным преобразованием из TaskSupport в Ensuring[TaskSupport] выполненным методом Ensuring в scala.Predef.
- Классы определения
- Ensuring
def ensuring(cond: (TaskSupport) ⇒ Boolean): TaskSupport
- Неявный
- Этот член добавлен неявным преобразованием из TaskSupport в Ensuring[TaskSupport] выполненным методом Ensuring в scala.Predef.
- Классы определения
- Ensuring
def ensuring(cond: Boolean, msg: ⇒ Any): TaskSupport
- Неявный
- Этот член добавлен неявным преобразованием из TaskSupport в Ensuring[TaskSupport] выполненным методом Ensuring в scala.Predef.
- Классы определения
- Ensuring
def ensuring(cond: Boolean): TaskSupport
- Неявный
- Этот член добавлен неявным преобразованием из TaskSupport в Ensuring[TaskSupport] с помощью метода Ensuring в scala.Predef.
- Определяющие классы
- Ensuring
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: Any): Boolean
Метод равенства для типов ссылок. Реализация по умолчанию делегирует eq.
Смотрите также equals в scala.Any.
- возвращает
trueесли объект-получатель эквивалентен аргументу;falseв противном случае.
- Определяющие классы
- AnyRef → Any
def finalize(): Unit
Вызывается сборщиком мусора для объекта-получателя, когда больше нет ссылок на объект.
Подробности о том, когда и как вызывается метод finalize, а также взаимодействие finalize с нелокальными возвратами и исключениями, зависят от платформы.
- Атрибуты
- protected[lang]
- Определяющие классы
- AnyRef
- Аннотации
- @throws( classOf[java.lang.Throwable] )
- Примечание
не указано SLS как член AnyRef
def formatted(fmtstr: String): String
Возвращает строку, отформатированную в соответствии с заданной строкой format. Формат строк соответствует формату String.format (см. java.lang.String.format).
- Неявный
- Этот член добавлен неявным преобразованием из TaskSupport в StringFormat[TaskSupport] с помощью метода StringFormat в scala.Predef.
- Определяющие классы
- StringFormat
- Аннотации
- @inline()
final def getClass(): Class[_]
Возвращает представление класса объекта во время выполнения.
- возвращает
объект класса, соответствующий типу получателя во время выполнения.
def hashCode(): Int
Метод hashCode для типов ссылок. См. hashCode в scala.Any.
- возвращает
значение хэш-кода для этого объекта.
final def isInstanceOf[T0]: Boolean
Проверяет, соответствует ли динамический тип объекта-получателя T0.
Обратите внимание, что результат теста зависит от стирания типов Scala. Поэтому выражение 1.isInstanceOf[String] вернет false, а выражение List(1).isInstanceOf[List[String]] вернет true. В последнем примере, поскольку аргумент типа стирается во время компиляции, проверить, соответствуют ли элементы списка указанному типу, невозможно.
- возвращает
trueесли объект-получатель является экземпляром стираемого типаT0;falseв противном случае.
- Определяющие классы
- Any
final def ne(arg0: AnyRef): Boolean
Эквивалентно !(this eq that).
- возвращает
trueесли аргумент не является ссылкой на объект-получатель;falseв противном случае.
- Определяющие классы
- AnyRef
final def notify(): Unit
Разбуживает один поток, ожидающий монитора объекта-получателя.
- Определяющие классы
- AnyRef
- Аннотации
- @native()
- Примечание
не указано SLS как член AnyRef
final def notifyAll(): Unit
Разбуживает все потоки, ожидающие монитора объекта-получателя.
- Классы-определения
- AnyRef
- Аннотации
- @native()
- Примечание
не указано SLS как член AnyRef
final def synchronized[T0](arg0: ⇒ T0): T0
- Классы-определения
- AnyRef
def toParArray: ParArray[T]
- Неявный
- Этот член добавлен неявным преобразованием из TaskSupport в CollectionsHaveToParArray[TaskSupport, T] выполняется методом CollectionsHaveToParArray в scala.collection.parallel. Это преобразование произойдёт только если неявное значение типа (TaskSupport) ⇒ GenTraversableOnce[T] находится в области видимости.
- Классы-определения
- CollectionsHaveToParArray
def toString(): String
Создаёт строковое представление этого объекта. По умолчанию представление зависит от платформы. На платформе Java это конкатенация имени класса, «@» и хэш-кода объекта в шестнадцатеричном формате.
- возвращает
строковое представление объекта.
- Классы-определения
- AnyRef → Any
final def wait(): Unit
- Классы-определения
- AnyRef
- Аннотации
- @throws( ... )
final def wait(arg0: Long, arg1: Int): Unit
- Классы-определения
- AnyRef
- Аннотации
- @throws( ... )
final def wait(arg0: Long): Unit
def →[B](y: B): (TaskSupport, B)
- Неявный
- Этот член добавлен неявным преобразованием из TaskSupport в ArrowAssoc[TaskSupport] выполняется методом ArrowAssoc в scala.Predef.
- Классы-определения
- ArrowAssoc
© 2002-2019 EPFL, with contributions from Lightbend.
Licensed under the Apache License, Version 2.0.
https://www.scala-lang.org/api/2.12.9/scala/collection/parallel/TaskSupport.html
Тракт, реализующий планирование параллельной операции над коллекцией.
Параллельные коллекции модулярны в способе планирования операций. Каждая параллельная коллекция параметризована объектом поддержки задач, который отвечает за планирование и балансировку задач на процессорах.
Объект поддержки задач можно изменить в параллельной коллекции после её создания, но только во время спокойного периода, то есть, когда нет одновременных вызовов методов параллельной коллекции.
В настоящее время для параллельных коллекций доступны несколько реализаций поддержки задач. scala.collection.parallel.ForkJoinTaskSupport использует внутренний пул fork-join.
scala.collection.parallel.ExecutionContextTaskSupport использует реализацию контекста выполнения по умолчанию, найденную в scala.concurrent, и повторно использует пул потоков, используемый в scala.concurrent.
Поддержка задач контекста выполнения по умолчанию задаётся каждой параллельной коллекции, поэтому параллельные коллекции повторно используют тот же пул fork-join, что и API будущих значений.
Вот как можно изменить поддержку задач параллельной коллекции:
Настройка параллельных коллекций в руководстве по параллельным коллекциям для получения дополнительной информации.