FileLock Kelas

Definisi

Token yang mewakili kunci pada wilayah file.

[Android.Runtime.Register("java/nio/channels/FileLock", DoNotGenerateAcw=true)]
public abstract class FileLock : Java.Lang.Object, IDisposable, Java.Lang.IAutoCloseable
[<Android.Runtime.Register("java/nio/channels/FileLock", DoNotGenerateAcw=true)>]
type FileLock = class
    inherit Object
    interface IAutoCloseable
    interface IJavaObject
    interface IDisposable
    interface IJavaPeerable
Warisan
Atribut
Penerapan

Keterangan

Token yang mewakili kunci pada wilayah file.

Objek kunci file dibuat setiap kali kunci diperoleh pada file melalui salah FileChannel#lock(long,long,boolean) lock satu metode FileChannel#tryLock(long,long,boolean) tryLock atau FileChannel kelas, atau AsynchronousFileChannel#lock(long,long,boolean,Object,CompletionHandler) lock metode AsynchronousFileChannel#tryLock(long,long,boolean) tryLock atau AsynchronousFileChannel kelas.

Objek kunci file awalnya valid. Ini tetap berlaku sampai kunci dilepaskan dengan memanggil #release release metode , dengan menutup saluran yang digunakan untuk memperolehnya, atau dengan penghentian komputer virtual Java, mana yang lebih dulu. Validitas kunci dapat diuji dengan memanggil metodenya #isValid isValid .

Kunci file bersifat eksklusif atau dibagikan. Kunci bersama mencegah program lain yang berjalan bersamaan untuk memperoleh kunci eksklusif yang tumpang tindih, tetapi memungkinkan mereka untuk memperoleh kunci bersama yang tumpang tindih. Kunci eksklusif mencegah program lain memperoleh kunci yang tumpang tindih dari salah satu jenis. Setelah dilepaskan, kunci tidak berpengaruh lebih lanjut pada kunci yang mungkin diperoleh oleh program lain.

Apakah kunci eksklusif atau dibagikan dapat ditentukan dengan memanggil metodenya #isShared isShared . Beberapa platform tidak mendukung kunci bersama, dalam hal ini permintaan untuk kunci bersama secara otomatis dikonversi menjadi permintaan untuk kunci eksklusif.

Kunci yang disimpan pada file tertentu oleh satu Java komputer virtual tidak tumpang tindih. Metode #overlaps overlaps ini dapat digunakan untuk menguji apakah rentang kunci kandidat tumpang tindih dengan kunci yang ada.

Objek kunci file merekam saluran file yang kunci filenya disimpan, jenis dan validitas kunci, serta posisi dan ukuran wilayah terkunci. Hanya validitas kunci yang dapat berubah dari waktu ke waktu; semua aspek lain dari status kunci tidak dapat diubah.

Kunci file ditahan atas nama seluruh komputer virtual Java. Mereka tidak cocok untuk mengontrol akses ke file dengan beberapa utas dalam komputer virtual yang sama.

Objek kunci file aman untuk digunakan oleh beberapa utas bersamaan.

"pdep"><h2> Dependensi <platform /h2>

API penguncian file ini dimaksudkan untuk memetakan langsung ke fasilitas penguncian asli sistem operasi yang mendasar. Dengan demikian kunci yang disimpan pada file harus terlihat oleh semua program yang memiliki akses ke file, terlepas dari bahasa di mana program tersebut ditulis.

Apakah kunci benar-benar mencegah program lain mengakses konten wilayah yang dikunci bergantung pada sistem dan karenanya tidak ditentukan. Fasilitas penguncian file asli dari beberapa sistem hanyalah saran, yang berarti bahwa program harus secara kooperatif mengamati protokol penguncian yang diketahui untuk menjamin integritas data. Pada sistem lain kunci file asli adalah wajib, yang berarti bahwa jika satu program mengunci wilayah file maka program lain sebenarnya dicegah mengakses wilayah tersebut dengan cara yang akan melanggar kunci. Pada sistem lain, apakah kunci file asli bersifat nasihat atau wajib dapat dikonfigurasi berdasarkan per file. Untuk memastikan perilaku yang konsisten dan benar di seluruh platform, sangat disarankan agar kunci yang disediakan oleh API ini digunakan seolah-olah kunci saran.

Pada beberapa sistem, memperoleh kunci wajib pada wilayah file mencegah wilayah tersebut menjadi java.nio.channels.FileChannel#map <i>mapped into memory</i>, dan sebaliknya. Program yang menggabungkan penguncian dan pemetaan harus disiapkan agar kombinasi ini gagal.

Pada beberapa sistem, menutup saluran melepaskan semua kunci yang disimpan oleh komputer virtual Java pada file yang mendasar terlepas dari apakah kunci diperoleh melalui saluran tersebut atau melalui saluran lain yang terbuka pada file yang sama. Sangat disarankan bahwa, dalam program, saluran unik digunakan untuk memperoleh semua kunci pada file tertentu.

Beberapa sistem file jaringan mengizinkan penguncian file untuk digunakan dengan file yang dipetakan memori hanya ketika wilayah terkunci selaras dengan halaman dan seluruh kelipatan ukuran halaman perangkat keras yang mendasar. Beberapa sistem file jaringan tidak menerapkan kunci file pada wilayah yang melewati posisi tertentu, seringkali 2<sup>30</sup> atau 2<sup>31</sup>. Secara umum, perhatian besar harus diambil ketika mengunci file yang berada di sistem file jaringan.

Ditambahkan dalam 1.4.

Java dokumentasi untuk java.nio.channels.FileLock.

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
FileLock(AsynchronousFileChannel, Int64, Int64, Boolean)

Menginisialisasi instans baru kelas ini.

FileLock(FileChannel, Int64, Int64, Boolean)

Menginisialisasi instans baru kelas ini.

FileLock(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)
IsShared

Memberi tahu apakah kunci ini dibagikan.

IsValid

Menunjukkan apakah kunci ini adalah kunci file yang valid.

JniIdentityHashCode

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

(Diperoleh dari Object)
JniManagedPeerState

Token yang mewakili kunci pada wilayah file.

(Diperoleh dari JavaObject)
JniPeerMembers

Token yang mewakili kunci pada wilayah file.

PeerReference

Mendapatkan referensi objek JNI untuk peer Java ini.

(Diperoleh dari Object)
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
AcquiredBy()

Mengembalikan saluran pada file yang kunci ini diperoleh.

Channel()

Mengembalikan saluran file pada file yang kunci ini diperoleh.

Clone()

Membuat dan mengembalikan salinan objek ini.

(Diperoleh dari Object)
Close()

Metode ini memanggil #release metode .

Construct(JniObjectReference, JniObjectReferenceOptions)

Token yang mewakili kunci pada wilayah file.

(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()

Token yang mewakili kunci pada wilayah file.

(Diperoleh dari JavaObject)
Equals(Object)

Token yang mewakili kunci pada wilayah file.

(Diperoleh dari JavaObject)
Equals(Object)

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

(Diperoleh dari Object)
GetHashCode()

Mengembalikan nilai kode hash untuk objek .

(Diperoleh dari Object)
JavaFinalize()

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

(Diperoleh dari Object)
Notify()

Membangunkan satu utas yang menunggu monitor objek ini.

(Diperoleh dari Object)
NotifyAll()

Membangunkan semua utas yang menunggu monitor objek ini.

(Diperoleh dari Object)
Overlaps(Int64, Int64)

Memberi tahu apakah kunci ini tumpang tindih atau tidak dengan rentang kunci yang diberikan.

Position()

Mengembalikan posisi dalam file byte pertama dari wilayah terkunci.

Release()

Melepaskan kunci ini.

SetHandle(IntPtr, JniHandleOwnership)

Mengatur properti Handle.

(Diperoleh dari Object)
SetPeerReference(JniObjectReference, JniObjectReferenceOptions)

Token yang mewakili kunci pada wilayah file.

(Diperoleh dari JavaObject)
Size()

Mengembalikan ukuran wilayah terkunci dalam byte.

ToArray<T>()

Membuat array terkelola dari pembungkus array Java ini.

(Diperoleh dari Object)
ToString()

Mengembalikan string yang menjelaskan rentang, jenis, dan validitas kunci ini.

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()

Token yang mewakili kunci pada wilayah file.

(Diperoleh dari JavaObject)
IJavaPeerable.Finalized()

Token yang mewakili kunci pada wilayah file.

(Diperoleh dari JavaObject)
IJavaPeerable.JniObjectReferenceControlBlock

Token yang mewakili kunci pada wilayah file.

(Diperoleh dari JavaObject)
IJavaPeerable.SetJniIdentityHashCode(Int32)

Token yang mewakili kunci pada wilayah file.

(Diperoleh dari JavaObject)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

Token yang mewakili kunci pada wilayah file.

(Diperoleh dari JavaObject)
IJavaPeerable.SetPeerReference(JniObjectReference)

Token yang mewakili kunci pada wilayah file.

(Diperoleh dari JavaObject)
IJavaPeerable.UnregisterFromRuntime()

Token yang mewakili kunci pada wilayah file.

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)

Token yang mewakili kunci pada wilayah file.

TryJavaCast<TResult>(IJavaPeerable, TResult)

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

Berlaku untuk