DoubleAccumulator Clase
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Una o varias variables que mantienen un valor en ejecución double actualizado mediante una función proporcionada.
[Android.Runtime.Register("java/util/concurrent/atomic/DoubleAccumulator", ApiSince=24, DoNotGenerateAcw=true)]
public class DoubleAccumulator : Java.Lang.Number, IDisposable
[<Android.Runtime.Register("java/util/concurrent/atomic/DoubleAccumulator", ApiSince=24, DoNotGenerateAcw=true)>]
type DoubleAccumulator = class
inherit Number
interface ISerializable
interface IJavaObject
interface IDisposable
interface IJavaPeerable
- Herencia
- Atributos
- Implementaciones
Comentarios
Una o varias variables que mantienen un valor en ejecución double actualizado mediante una función proporcionada. Cuando las actualizaciones (método #accumulate) se sostienen entre subprocesos, el conjunto de variables puede crecer dinámicamente para reducir la contención. El método #get (o, de forma equivalente, #doubleValue) devuelve el valor actual entre las variables que mantienen las actualizaciones.
Normalmente, esta clase es preferible a alternativas cuando varios subprocesos actualizan un valor común que se usa con fines como estadísticas de resumen que se actualizan con frecuencia, pero se leen con menos frecuencia.
La función de acumulador proporcionada debe estar libre de efectos secundarios, ya que se puede volver a aplicar cuando se produce un error en las actualizaciones intentadas debido a la contención entre subprocesos. Para los resultados predecibles, la función de acumulador debe ser conmutante y asociativa dentro de la tolerancia de punto flotante necesaria en contextos de uso. La función se aplica con un valor existente (o identidad) como un argumento y una actualización determinada como el otro argumento. Por ejemplo, para mantener un valor máximo en ejecución, podría proporcionar Double::max junto con Double.NEGATIVE_INFINITY como identidad. No se garantiza el orden de acumulación dentro o entre subprocesos. Por lo tanto, esta clase puede no ser aplicable si se requiere estabilidad numérica, especialmente cuando se combinan valores de orden de magnitud considerablemente diferentes.
La clase DoubleAdder proporciona analogías de la funcionalidad de esta clase para el caso especial común de mantenimiento de sumas. La llamada new DoubleAdder() es equivalente a new DoubleAccumulator((x, y) -> x + y, 0.0).
Esta clase extiende , pero no Numberdefine<>< métodos >como equals, hashCode y compareTo porque se espera que las instancias se mutan, por lo que no son útiles como claves de colección.
Agregado en la versión 1.8.
Documentación de Java para java.util.concurrent.atomic.DoubleAccumulator.
Las partes de esta página son modificaciones basadas en el trabajo creado y compartido por el proyecto de código abierto de Android y se usan según los términos descritos en la licencia de atribución de Creative Commons 2.5.
Constructores
| Nombre | Description |
|---|---|
| DoubleAccumulator(IDoubleBinaryOperator, Double) |
Crea una nueva instancia mediante la función de acumulador y el elemento de identidad especificados. |
| DoubleAccumulator(IntPtr, JniHandleOwnership) |
Constructor utilizado al crear representaciones administradas de objetos JNI; llamado por el tiempo de ejecución. |
Propiedades
| Nombre | Description |
|---|---|
| Class |
Devuelve la clase en tiempo de ejecución de este |
| Handle |
Identificador de la instancia de Android subyacente. (Heredado de Object) |
| JniIdentityHashCode |
Obtiene el código hash de identidad asignado a este Java del mismo nivel por el tiempo de ejecución de interoperabilidad. (Heredado de Object) |
| JniManagedPeerState |
Una o varias variables que mantienen un valor en ejecución |
| JniPeerMembers |
Obtiene los metadatos de JNI usados para invocar miembros de este Java del mismo nivel. |
| PeerReference |
Obtiene la referencia de objeto JNI para este Java del mismo nivel. (Heredado de Object) |
| ThenReset |
Equivalente en vigor a |
| ThresholdClass |
Esta API admite la infraestructura mono para Android y no está pensada para usarse directamente desde el código. |
| ThresholdType |
Esta API admite la infraestructura mono para Android y no está pensada para usarse directamente desde el código. |
Métodos
| Nombre | Description |
|---|---|
| Accumulate(Double) |
Actualiza con el valor especificado. |
| ByteValue() |
Devuelve el valor del número especificado como . |
| Clone() |
Crea y devuelve una copia de este objeto. (Heredado de Object) |
| Construct(JniObjectReference, JniObjectReferenceOptions) |
Una o varias variables que mantienen un valor en ejecución |
| Dispose() |
Libera los recursos mantenidos por este Java del mismo nivel. (Heredado de Object) |
| Dispose(Boolean) |
Libera los recursos mantenidos por este Java del mismo nivel. (Heredado de Object) |
| DisposeUnlessReferenced() |
Una o varias variables que mantienen un valor en ejecución |
| DoubleValue() |
Equivalente a |
| Equals(Object) |
Una o varias variables que mantienen un valor en ejecución |
| Equals(Object) |
Indica si algún otro objeto es "igual a" este. (Heredado de Object) |
| FloatValue() |
Devuelve el #get valor actual como |
| Get() |
Devuelve el valor actual. |
| GetHashCode() |
Devuelve un valor de código hash del objeto. (Heredado de Object) |
| IntValue() |
Devuelve el #get valor actual como |
| JavaFinalize() |
Lo llama el recolector de elementos no utilizados en un objeto cuando la recolección de elementos no utilizados determina que no hay más referencias al objeto . (Heredado de Object) |
| LongValue() |
Devuelve el #get valor actual como |
| Notify() |
Activa un único subproceso que está esperando en el monitor de este objeto. (Heredado de Object) |
| NotifyAll() |
Activa todos los subprocesos que están esperando en el monitor de este objeto. (Heredado de Object) |
| Reset() |
Restablece las variables que mantienen las actualizaciones en el valor de identidad. |
| SetHandle(IntPtr, JniHandleOwnership) |
Establece la propiedad Handle. (Heredado de Object) |
| SetPeerReference(JniObjectReference, JniObjectReferenceOptions) |
Una o varias variables que mantienen un valor en ejecución |
| ShortValue() |
Devuelve el valor del número especificado como . |
| ToArray<T>() |
Crea una matriz administrada a partir de este contenedor de matriz Java. (Heredado de Object) |
| ToString() |
Devuelve una representación de cadena del objeto. (Heredado de Object) |
| UnregisterFromRuntime() |
Anula el registro de este Java del mismo nivel del tiempo de ejecución de interoperabilidad. (Heredado de Object) |
| Wait() |
Hace que el subproceso actual espere hasta que se despierta, normalmente por ser em notificado/em< o >em<interrumpido>/em<.><> (Heredado de Object) |
| Wait(Int64, Int32) |
Hace que el subproceso actual espere hasta que se despierte, normalmente por ser <em>notificado</em> o <em>interrumpido</em>, o hasta que haya transcurrido una cierta cantidad de tiempo real. (Heredado de Object) |
| Wait(Int64) |
Hace que el subproceso actual espere hasta que se despierte, normalmente por ser <em>notificado</em> o <em>interrumpido</em>, o hasta que haya transcurrido una cierta cantidad de tiempo real. (Heredado de Object) |
Implementaciones de interfaz explícitas
| Nombre | Description |
|---|---|
| IJavaPeerable.Disposed() |
Una o varias variables que mantienen un valor en ejecución |
| IJavaPeerable.Finalized() |
Una o varias variables que mantienen un valor en ejecución |
| IJavaPeerable.JniObjectReferenceControlBlock |
Una o varias variables que mantienen un valor en ejecución |
| IJavaPeerable.SetJniIdentityHashCode(Int32) |
Una o varias variables que mantienen un valor en ejecución |
| IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates) |
Una o varias variables que mantienen un valor en ejecución |
| IJavaPeerable.SetPeerReference(JniObjectReference) |
Una o varias variables que mantienen un valor en ejecución |
| IJavaPeerable.UnregisterFromRuntime() |
Una o varias variables que mantienen un valor en ejecución |
Métodos de extensión
| Nombre | Description |
|---|---|
| GetJniTypeName(IJavaPeerable) |
Obtiene el nombre JNI del tipo de la instancia |
| JavaAs<TResult>(IJavaPeerable) |
Intente coerción |
| JavaCast<TResult>(IJavaObject) |
Realiza una conversión de tipos comprobados en tiempo de ejecución de Android. |
| JavaCast<TResult>(IJavaObject) |
Una o varias variables que mantienen un valor en ejecución |
| TryJavaCast<TResult>(IJavaPeerable, TResult) |
Intente coerción |