Lenguaje

FileChannel.TryLock Método

Definición

Sobrecargas

Nombre Description
TryLock()

Intenta adquirir un bloqueo exclusivo en el archivo de este canal.

TryLock(Int64, Int64, Boolean)

Intenta adquirir un bloqueo en la región especificada del archivo de este canal.

TryLock()

Intenta adquirir un bloqueo exclusivo en el archivo de este canal.

[Android.Runtime.Register("tryLock", "()Ljava/nio/channels/FileLock;", "")]
public Java.Nio.Channels.FileLock? TryLock();
[<Android.Runtime.Register("tryLock", "()Ljava/nio/channels/FileLock;", "")>]
member this.TryLock : unit -> Java.Nio.Channels.FileLock

Devoluciones

Objeto de bloqueo que representa el bloqueo recién adquirido o null si no se pudo adquirir el bloqueo porque otro programa contiene un bloqueo superpuesto

Atributos

Excepciones

si se cierra el canal de archivo.

si ya existe un bloqueo que se superpone a esta solicitud de bloqueo u otro subproceso está esperando adquirir un bloqueo que se superpone con esta solicitud.

si se produce algún error de E/S.

Comentarios

Intenta adquirir un bloqueo exclusivo en el archivo de este canal.

Una invocación de este método del formulario fc.tryLock() se comporta exactamente de la misma manera que la invocación

fc.{@link #tryLock(long,long,boolean) tryLock}(0L, Long.MAX_VALUE, false)

Java documentación para java.nio.channels.FileChannel.tryLock().

Las partes de esta página son modificaciones basadas en el trabajo creado y compartido por el Android y se usan según los términos descritos en creative Creative Commons 2.5 Attribution License.

Se aplica a

TryLock(Int64, Int64, Boolean)

Intenta adquirir un bloqueo en la región especificada del archivo de este canal.

[Android.Runtime.Register("tryLock", "(JJZ)Ljava/nio/channels/FileLock;", "GetTryLock_JJZHandler")]
public abstract Java.Nio.Channels.FileLock? TryLock(long position, long size, bool shared);
[<Android.Runtime.Register("tryLock", "(JJZ)Ljava/nio/channels/FileLock;", "GetTryLock_JJZHandler")>]
abstract member TryLock : int64 * int64 * bool -> Java.Nio.Channels.FileLock

Parámetros

position
Int64

Posición en la que se va a iniciar la región bloqueada; debe ser no negativo

size
Int64

Tamaño de la región bloqueada; debe ser no negativo, y la suma position + size debe ser no negativa

shared
Boolean

true para solicitar un bloqueo compartido, false para solicitar un bloqueo exclusivo

Devoluciones

Objeto de bloqueo que representa el bloqueo recién adquirido o null si no se pudo adquirir el bloqueo porque otro programa contiene un bloqueo superpuesto

Atributos

Excepciones

si alguno de los parámetros no es válido.

si se cierra el canal de archivo.

si ya se mantiene un bloqueo que se superpone a esta solicitud de bloqueo u otro subproceso está esperando adquirir un bloqueo que se superpone con esta solicitud.

si se produce algún error de E/S.

Comentarios

Intenta adquirir un bloqueo en la región especificada del archivo de este canal.

Este método no se bloquea. Una invocación siempre devuelve inmediatamente, ya sea haber adquirido un bloqueo en la región solicitada o no haber podido hacerlo. Si no puede adquirir un bloqueo porque otro programa mantiene un bloqueo superpuesto, devuelve null. Si no se puede adquirir un bloqueo por cualquier otro motivo, se produce una excepción adecuada.

La región especificada por los position parámetros y size no debe estar incluida en el archivo subyacente real o incluso superponerse. Las regiones de bloqueo son fijas en tamaño; si una región bloqueada contiene inicialmente el final del archivo y el archivo crece más allá de la región, la nueva parte del archivo no estará cubierta por el bloqueo. Si se espera que un archivo crezca en tamaño y se requiera un bloqueo en todo el archivo, se debe bloquear una región a partir de cero y no menor que el tamaño máximo esperado del archivo. El método de argumento #tryLock() cero simplemente bloquea una región de tamaño Long#MAX_VALUE.

Algunos sistemas operativos no admiten bloqueos compartidos, en cuyo caso una solicitud de bloqueo compartido se convierte automáticamente en una solicitud de bloqueo exclusivo. Si el bloqueo recién adquirido es compartido o exclusivo se puede probar invocando el método del objeto de FileLock#isShared() isShared bloqueo resultante.

Los bloqueos de archivo se mantienen en nombre de toda la máquina virtual Java. No son adecuados para controlar el acceso a un archivo mediante varios subprocesos dentro de la misma máquina virtual.

Java documentación para java.nio.channels.FileChannel.tryLock(long, long, boolean).

Las partes de esta página son modificaciones basadas en el trabajo creado y compartido por el Android y se usan según los términos descritos en creative Creative Commons 2.5 Attribution License.

Se aplica a