LongAccumulator Kelas

Definisi

Satu atau beberapa variabel yang bersama-sama mempertahankan nilai yang sedang berjalan long diperbarui menggunakan fungsi yang disediakan.

[Android.Runtime.Register("java/util/concurrent/atomic/LongAccumulator", ApiSince=24, DoNotGenerateAcw=true)]
public class LongAccumulator : Java.Lang.Number, IDisposable
[<Android.Runtime.Register("java/util/concurrent/atomic/LongAccumulator", ApiSince=24, DoNotGenerateAcw=true)>]
type LongAccumulator = class
    inherit Number
    interface ISerializable
    interface IJavaObject
    interface IDisposable
    interface IJavaPeerable
Warisan
LongAccumulator
Atribut
Penerapan

Keterangan

Satu atau beberapa variabel yang bersama-sama mempertahankan nilai yang sedang berjalan long diperbarui menggunakan fungsi yang disediakan. Ketika pembaruan (metode #accumulate) dipersingkat di seluruh utas, kumpulan variabel dapat tumbuh secara dinamis untuk mengurangi ketidakcocokan. Metode #get (atau, setara, #longValue) mengembalikan nilai saat ini di seluruh variabel yang mempertahankan pembaruan.

Kelas ini biasanya lebih disukai AtomicLong ketika beberapa utas memperbarui nilai umum yang digunakan untuk tujuan seperti mengumpulkan statistik, bukan untuk kontrol sinkronisasi terperinci. Di bawah ketidakcocokan pembaruan rendah, kedua kelas memiliki karakteristik yang sama. Tetapi di bawah ketidakcocokan tinggi, throughput yang diharapkan dari kelas ini secara signifikan lebih tinggi, dengan mengorbankan konsumsi ruang yang lebih tinggi.

Urutan akumulasi dalam atau di seluruh alur tidak dijamin dan tidak dapat diandalkan, sehingga kelas ini hanya berlaku untuk fungsi yang urutan akumulasinya tidak menjadi masalah. Fungsi akumulator yang disediakan harus bebas efek samping, karena mungkin diterapkan kembali ketika pembaruan yang dicoba gagal karena ketidakcocokan di antara utas. Untuk hasil yang dapat diprediksi, fungsi akumulator harus asosiatif dan komutatif. Fungsi ini diterapkan dengan nilai (atau identitas) yang ada sebagai satu argumen, dan pembaruan tertentu sebagai argumen lainnya. Misalnya, untuk mempertahankan nilai maksimum yang berjalan, Anda dapat menyediakan Long::max bersama dengan Long.MIN_VALUE sebagai identitas.

Kelas LongAdder menyediakan analog fungsionalitas kelas ini untuk kasus khusus umum dalam mempertahankan jumlah dan jumlah. Panggilan new LongAdder() setara dengan new LongAccumulator((x, y) -> x + y, 0L).

Kelas ini memperluas Number, tetapi tidak<>< mendefinisikan>metode seperti equals, hashCode dan compareTo karena instans diharapkan bermutasi, sehingga tidak berguna sebagai kunci koleksi.

Ditambahkan dalam 1.8.

Java dokumentasi untuk java.util.concurrent.atomic.LongAccumulator.

Bagian dari halaman ini adalah modifikasi berdasarkan pekerjaan yang dibuat dan dibagikan oleh Android Open Source Project dan digunakan sesuai dengan istilah yang dijelaskan dalam Lisensi Creative Commons 2.5 Lisensi Atribusi.

Konstruktor

Nama Deskripsi
LongAccumulator(ILongBinaryOperator, Int64)

Membuat instans baru menggunakan fungsi akumulator dan elemen identitas yang diberikan.

LongAccumulator(IntPtr, JniHandleOwnership)

Konstruktor yang digunakan saat membuat representasi terkelola objek JNI; dipanggil oleh runtime.

Properti

Nama Deskripsi
Class

Mengembalikan kelas runtime dari .Object

(Diperoleh dari Object)
Handle

Handel ke instans Android yang mendasar.

(Diperoleh dari Object)
JniIdentityHashCode

Mendapatkan kode hash identitas yang ditetapkan ke Java peer ini oleh runtime interop.

(Diperoleh dari Object)
JniManagedPeerState

Satu atau beberapa variabel yang bersama-sama mempertahankan nilai yang sedang berjalan long diperbarui menggunakan fungsi yang disediakan.

(Diperoleh dari JavaObject)
JniPeerMembers

Mendapatkan metadata JNI yang digunakan untuk memanggil anggota peer Java ini.

PeerReference

Mendapatkan referensi objek JNI untuk peer Java ini.

(Diperoleh dari Object)
ThenReset

Setara berlaku untuk #get diikuti oleh #reset.

ThresholdClass

API ini mendukung infrastruktur Mono untuk Android dan tidak dimaksudkan untuk digunakan langsung dari kode Anda.

ThresholdType

API ini mendukung infrastruktur Mono untuk Android dan tidak dimaksudkan untuk digunakan langsung dari kode Anda.

Metode

Nama Deskripsi
Accumulate(Int64)

Pembaruan dengan nilai yang diberikan.

ByteValue()

Mengembalikan nilai angka yang ditentukan sebagai byte.

(Diperoleh dari Number)
Clone()

Membuat dan mengembalikan salinan objek ini.

(Diperoleh dari Object)
Construct(JniObjectReference, JniObjectReferenceOptions)

Satu atau beberapa variabel yang bersama-sama mempertahankan nilai yang sedang berjalan long diperbarui menggunakan fungsi yang disediakan.

(Diperoleh dari JavaObject)
Dispose()

Merilis sumber daya yang dipegang oleh rekan Java ini.

(Diperoleh dari Object)
Dispose(Boolean)

Merilis sumber daya yang dipegang oleh rekan Java ini.

(Diperoleh dari Object)
DisposeUnlessReferenced()

Satu atau beberapa variabel yang bersama-sama mempertahankan nilai yang sedang berjalan long diperbarui menggunakan fungsi yang disediakan.

(Diperoleh dari JavaObject)
DoubleValue()

Mengembalikan nilai saat ini #get sebagai double setelah konversi primitif yang melebar.

Equals(Object)

Satu atau beberapa variabel yang bersama-sama mempertahankan nilai yang sedang berjalan long diperbarui menggunakan fungsi yang disediakan.

(Diperoleh dari JavaObject)
Equals(Object)

Menunjukkan apakah beberapa objek lain "sama dengan" yang satu ini.

(Diperoleh dari Object)
FloatValue()

Mengembalikan nilai saat ini #get sebagai float setelah konversi primitif yang melebar.

Get()

Mengembalikan nilai saat ini.

GetHashCode()

Mengembalikan nilai kode hash untuk objek .

(Diperoleh dari Object)
IntValue()

Mengembalikan nilai saat ini #get sebagai int setelah konversi primitif yang menyempit.

JavaFinalize()

Dipanggil oleh pengumpul sampah pada objek ketika pengumpulan sampah menentukan bahwa tidak ada lagi referensi ke objek.

(Diperoleh dari Object)
LongValue()

Setara dengan #get.

Notify()

Membangunkan satu utas yang menunggu monitor objek ini.

(Diperoleh dari Object)
NotifyAll()

Membangunkan semua utas yang menunggu monitor objek ini.

(Diperoleh dari Object)
Reset()

Mengatur ulang variabel yang mempertahankan pembaruan pada nilai identitas.

SetHandle(IntPtr, JniHandleOwnership)

Mengatur properti Handle.

(Diperoleh dari Object)
SetPeerReference(JniObjectReference, JniObjectReferenceOptions)

Satu atau beberapa variabel yang bersama-sama mempertahankan nilai yang sedang berjalan long diperbarui menggunakan fungsi yang disediakan.

(Diperoleh dari JavaObject)
ShortValue()

Mengembalikan nilai angka yang ditentukan sebagai short.

(Diperoleh dari Number)
ToArray<T>()

Membuat array terkelola dari pembungkus array Java ini.

(Diperoleh dari Object)
ToString()

Mengembalikan representasi string objek.

(Diperoleh dari Object)
UnregisterFromRuntime()

Membatalkan pendaftaran peer Java ini dari runtime interop.

(Diperoleh dari Object)
Wait()

Menyebabkan utas saat ini menunggu sampai terbangun, biasanya dengan <diberitahu></em> atau <em>terganggu</em>.

(Diperoleh dari Object)
Wait(Int64, Int32)

Menyebabkan utas saat ini menunggu sampai terbangun, biasanya dengan <>diberitahu</em> atau <em>terganggu</em>, atau sampai sejumlah waktu nyata berlalu.

(Diperoleh dari Object)
Wait(Int64)

Menyebabkan utas saat ini menunggu sampai terbangun, biasanya dengan <>diberitahu</em> atau <em>terganggu</em>, atau sampai sejumlah waktu nyata berlalu.

(Diperoleh dari Object)

Implementasi Antarmuka Eksplisit

Nama Deskripsi
IJavaPeerable.Disposed()

Satu atau beberapa variabel yang bersama-sama mempertahankan nilai yang sedang berjalan long diperbarui menggunakan fungsi yang disediakan.

(Diperoleh dari JavaObject)
IJavaPeerable.Finalized()

Satu atau beberapa variabel yang bersama-sama mempertahankan nilai yang sedang berjalan long diperbarui menggunakan fungsi yang disediakan.

(Diperoleh dari JavaObject)
IJavaPeerable.JniObjectReferenceControlBlock

Satu atau beberapa variabel yang bersama-sama mempertahankan nilai yang sedang berjalan long diperbarui menggunakan fungsi yang disediakan.

(Diperoleh dari JavaObject)
IJavaPeerable.SetJniIdentityHashCode(Int32)

Satu atau beberapa variabel yang bersama-sama mempertahankan nilai yang sedang berjalan long diperbarui menggunakan fungsi yang disediakan.

(Diperoleh dari JavaObject)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

Satu atau beberapa variabel yang bersama-sama mempertahankan nilai yang sedang berjalan long diperbarui menggunakan fungsi yang disediakan.

(Diperoleh dari JavaObject)
IJavaPeerable.SetPeerReference(JniObjectReference)

Satu atau beberapa variabel yang bersama-sama mempertahankan nilai yang sedang berjalan long diperbarui menggunakan fungsi yang disediakan.

(Diperoleh dari JavaObject)
IJavaPeerable.UnregisterFromRuntime()

Satu atau beberapa variabel yang bersama-sama mempertahankan nilai yang sedang berjalan long diperbarui menggunakan fungsi yang disediakan.

Metode Ekstensi

Nama Deskripsi
GetJniTypeName(IJavaPeerable)

Mendapatkan nama JNI dari jenis instans self.

JavaAs<TResult>(IJavaPeerable)

Cobalah untuk memaksa self untuk mengetik TResult, memeriksa bahwa paksaan valid di sisi Java.

JavaCast<TResult>(IJavaObject)

Melakukan konversi jenis yang diperiksa runtime Android.

JavaCast<TResult>(IJavaObject)

Satu atau beberapa variabel yang bersama-sama mempertahankan nilai yang sedang berjalan long diperbarui menggunakan fungsi yang disediakan.

TryJavaCast<TResult>(IJavaPeerable, TResult)

Cobalah untuk memaksa self untuk mengetik TResult, memeriksa bahwa paksaan valid di sisi Java.

Berlaku untuk