FileChannel.TryLock Método

Definição

Sobrecargas

Nome Description
TryLock()

Tenta adquirir um bloqueio exclusivo no arquivo deste canal.

TryLock(Int64, Int64, Boolean)

Tenta adquirir um bloqueio na região especificada do arquivo deste canal.

TryLock()

Tenta adquirir um bloqueio exclusivo no arquivo deste 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

Retornos

Um objeto de bloqueio que representa o bloqueio recém-adquirido ou null se o bloqueio não pôde ser adquirido porque outro programa contém um bloqueio sobreposto

Atributos

Exceções

se o canal de arquivo estiver fechado.

se já existir um bloqueio que sobreponha essa solicitação de bloqueio ou outro thread estiver aguardando para adquirir um bloqueio que se sobreponha a essa solicitação.

se ocorrer algum erro de E/S.

Comentários

Tenta adquirir um bloqueio exclusivo no arquivo deste canal.

Uma invocação desse método do formulário fc.tryLock() se comporta exatamente da mesma maneira que a invocação

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

Java documentação para java.nio.channels.FileChannel.tryLock().

Partes desta página são modificações baseadas no trabalho criado e compartilhado pelo Project Open Source do Open Source e usadas de acordo com os termos descritos na Creative Commons 2.5.

Aplica-se a

TryLock(Int64, Int64, Boolean)

Tenta adquirir um bloqueio na região especificada do arquivo deste 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

A posição na qual a região bloqueada deve ser iniciada; deve ser não negativo

size
Int64

O tamanho da região bloqueada; deve ser não negativo, e a soma position + size deve ser não negativa

shared
Boolean

true para solicitar um bloqueio compartilhado, false para solicitar um bloqueio exclusivo

Retornos

Um objeto de bloqueio que representa o bloqueio recém-adquirido ou null se o bloqueio não pôde ser adquirido porque outro programa contém um bloqueio sobreposto

Atributos

Exceções

se quaisquer parâmetros forem inválidos.

se o canal de arquivo estiver fechado.

se já houver um bloqueio que sobreponha essa solicitação de bloqueio ou outro thread estiver aguardando para adquirir um bloqueio que se sobreponha a essa solicitação.

se ocorrer algum erro de E/S.

Comentários

Tenta adquirir um bloqueio na região especificada do arquivo deste canal.

Esse método não é bloqueado. Uma invocação sempre retorna imediatamente, tendo adquirido um bloqueio na região solicitada ou não ter feito isso. Se não conseguir adquirir um bloqueio porque um bloqueio sobreposto é mantido por outro programa, ele retorna null. Se não conseguir adquirir um bloqueio por qualquer outro motivo, uma exceção apropriada será gerada.

A região especificada pelo e size os position parâmetros não precisam ser contidos no arquivo subjacente real ou mesmo sobreposto. As regiões de bloqueio são fixas em tamanho; se uma região bloqueada inicialmente contiver o final do arquivo e o arquivo crescer além da região, a nova parte do arquivo não será coberta pelo bloqueio. Se espera-se que um arquivo aumente de tamanho e um bloqueio em todo o arquivo seja necessário, uma região começando em zero, e não menor que o tamanho máximo esperado do arquivo, deverá ser bloqueada. O método de argumento #tryLock() zero simplesmente bloqueia uma região de tamanho Long#MAX_VALUE.

Alguns sistemas operacionais não dão suporte a bloqueios compartilhados, caso em que uma solicitação para um bloqueio compartilhado é convertida automaticamente em uma solicitação para um bloqueio exclusivo. Se o bloqueio recém-adquirido é compartilhado ou exclusivo pode ser testado invocando o método do objeto de FileLock#isShared() isShared bloqueio resultante.

Os bloqueios de arquivo são mantidos em nome de toda a máquina virtual Java. Eles não são adequados para controlar o acesso a um arquivo por vários threads na mesma máquina virtual.

Java documentação para java.nio.channels.FileChannel.tryLock(long, long, boolean).

Partes desta página são modificações baseadas no trabalho criado e compartilhado pelo Project Open Source do Open Source e usadas de acordo com os termos descritos na Creative Commons 2.5.

Aplica-se a