다음을 통해 공유


AsynchronousFileChannel.Lock 메서드

정의

오버로드

Lock()

이 채널의 파일에 대한 배타적 잠금을 획득합니다.

Lock(Object, ICompletionHandler)

이 채널의 파일에 대한 배타적 잠금을 획득합니다.

Lock(Int64, Int64, Boolean)

이 채널 파일의 지정된 영역에 대한 잠금을 획득합니다.

Lock(Int64, Int64, Boolean, Object, ICompletionHandler)

이 채널 파일의 지정된 영역에 대한 잠금을 획득합니다.

Lock()

이 채널의 파일에 대한 배타적 잠금을 획득합니다.

[Android.Runtime.Register("lock", "()Ljava/util/concurrent/Future;", "", ApiSince=26)]
public Java.Util.Concurrent.IFuture? Lock ();
[<Android.Runtime.Register("lock", "()Ljava/util/concurrent/Future;", "", ApiSince=26)>]
member this.Lock : unit -> Java.Util.Concurrent.IFuture

반환

Future 보류 중인 결과를 나타내는 개체

특성

설명

이 채널의 파일에 대한 배타적 잠금을 획득합니다.

이 메서드는 이 채널의 파일에 대한 배타적 잠금을 획득하는 작업을 시작합니다. 메서드 Future 는 작업의 보류 중인 결과를 나타내는 반환합니다. '의 Future#get() get 메서드는 Future성공적으로 완료된 경우를 FileLock 반환합니다.

이 메서드의 호출은 호출과 정확히 동일한 방식으로 동작합니다.

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

에 대한 java.nio.channels.AsynchronousFileChannel.lock()Java 설명서

이 페이지의 일부는 Android 오픈 소스 프로젝트에서 만들고 공유하고 Creative Commons 2.5 특성 라이선스에 설명된 용어에 따라 사용되는 작업을 기반으로 하는 수정 사항입니다.

적용 대상

Lock(Object, ICompletionHandler)

이 채널의 파일에 대한 배타적 잠금을 획득합니다.

[Android.Runtime.Register("lock", "(Ljava/lang/Object;Ljava/nio/channels/CompletionHandler;)V", "", ApiSince=26)]
[Java.Interop.JavaTypeParameters(new System.String[] { "A" })]
public void Lock (Java.Lang.Object? attachment, Java.Nio.Channels.ICompletionHandler? handler);
[<Android.Runtime.Register("lock", "(Ljava/lang/Object;Ljava/nio/channels/CompletionHandler;)V", "", ApiSince=26)>]
[<Java.Interop.JavaTypeParameters(new System.String[] { "A" })>]
member this.Lock : Java.Lang.Object * Java.Nio.Channels.ICompletionHandler -> unit

매개 변수

attachment
Object

I/O 작업에 연결할 개체입니다. 가 될 수 있습니다. null

handler
ICompletionHandler

결과를 소비하기 위한 처리기입니다.

특성

설명

이 채널의 파일에 대한 배타적 잠금을 획득합니다.

이 메서드는 이 채널 파일의 지정된 영역에 대한 잠금을 획득하는 작업을 시작합니다. handler 이 매개 변수는 잠금을 획득하거나 작업이 실패할 때 호출되는 완료 처리기입니다. 완료 처리기에 전달된 결과는 결과 FileLock입니다.

양식 ch.lock(att,handler) 의 이 메서드 호출은 호출과 정확히 동일한 방식으로 동작합니다.

ch.{@link #lock(long,long,boolean,Object,CompletionHandler) lock}(0L, Long.MAX_VALUE, false, att, handler)

에 대한 java.nio.channels.AsynchronousFileChannel.lock(A, java.nio.channels.CompletionHandler<java.nio.channels.FileLock, ? super A>)Java 설명서

이 페이지의 일부는 Android 오픈 소스 프로젝트에서 만들고 공유하고 Creative Commons 2.5 특성 라이선스에 설명된 용어에 따라 사용되는 작업을 기반으로 하는 수정 사항입니다.

적용 대상

Lock(Int64, Int64, Boolean)

이 채널 파일의 지정된 영역에 대한 잠금을 획득합니다.

[Android.Runtime.Register("lock", "(JJZ)Ljava/util/concurrent/Future;", "GetLock_JJZHandler", ApiSince=26)]
public abstract Java.Util.Concurrent.IFuture? Lock (long position, long size, bool shared);
[<Android.Runtime.Register("lock", "(JJZ)Ljava/util/concurrent/Future;", "GetLock_JJZHandler", ApiSince=26)>]
abstract member Lock : int64 * int64 * bool -> Java.Util.Concurrent.IFuture

매개 변수

position
Int64

잠긴 영역을 시작할 위치입니다. 는 음수가 아니어야 합니다.

size
Int64

잠긴 영역의 크기입니다. 는 음수가 아니어야 하며 합계 position + size 는 음수가 아니어야 합니다.

shared
Boolean

true 공유 잠금을 요청하려면 이 경우 읽기(및 쓰기 가능)를 위해 이 채널을 열어야 합니다. false 단독 잠금을 요청하려면 이 채널이 쓰기를 위해 열려 있어야 합니다(읽기 가능).

반환

Future 보류 중인 결과를 나타내는 개체

특성

설명

이 채널 파일의 지정된 영역에 대한 잠금을 획득합니다.

이 메서드는 이 채널 파일의 지정된 영역에 대한 잠금을 획득하는 작업을 시작합니다. 이 메서드는 완료 처리기를 지정하는 대신 보류 중인 결과를 나타내는 값을 반환 Future 한다는 점을 제외하고 메서드와 정확히 동일한 방식으로 #lock(long, long, boolean, Object, CompletionHandler) 동작합니다. '의 Future#get() get 메서드는 Future성공적으로 완료된 경우를 FileLock 반환합니다.

에 대한 java.nio.channels.AsynchronousFileChannel.lock(long, long, boolean)Java 설명서

이 페이지의 일부는 Android 오픈 소스 프로젝트에서 만들고 공유하고 Creative Commons 2.5 특성 라이선스에 설명된 용어에 따라 사용되는 작업을 기반으로 하는 수정 사항입니다.

적용 대상

Lock(Int64, Int64, Boolean, Object, ICompletionHandler)

이 채널 파일의 지정된 영역에 대한 잠금을 획득합니다.

[Android.Runtime.Register("lock", "(JJZLjava/lang/Object;Ljava/nio/channels/CompletionHandler;)V", "GetLock_JJZLjava_lang_Object_Ljava_nio_channels_CompletionHandler_Handler", ApiSince=26)]
[Java.Interop.JavaTypeParameters(new System.String[] { "A" })]
public abstract void Lock (long position, long size, bool shared, Java.Lang.Object? attachment, Java.Nio.Channels.ICompletionHandler? handler);
[<Android.Runtime.Register("lock", "(JJZLjava/lang/Object;Ljava/nio/channels/CompletionHandler;)V", "GetLock_JJZLjava_lang_Object_Ljava_nio_channels_CompletionHandler_Handler", ApiSince=26)>]
[<Java.Interop.JavaTypeParameters(new System.String[] { "A" })>]
abstract member Lock : int64 * int64 * bool * Java.Lang.Object * Java.Nio.Channels.ICompletionHandler -> unit

매개 변수

position
Int64

잠긴 영역을 시작할 위치입니다. 는 음수가 아니어야 합니다.

size
Int64

잠긴 영역의 크기입니다. 는 음수가 아니어야 하며 합계 position + size 는 음수가 아니어야 합니다.

shared
Boolean

true 공유 잠금을 요청하려면 이 경우 읽기(및 쓰기 가능)를 위해 이 채널을 열어야 합니다. false 단독 잠금을 요청하려면 이 채널이 쓰기를 위해 열려 있어야 합니다(읽기 가능).

attachment
Object

I/O 작업에 연결할 개체입니다. 가 될 수 있습니다. null

handler
ICompletionHandler

결과를 소비하기 위한 처리기입니다.

특성

설명

이 채널 파일의 지정된 영역에 대한 잠금을 획득합니다.

이 메서드는 이 채널 파일의 지정된 영역에 대한 잠금을 획득하는 작업을 시작합니다. handler 이 매개 변수는 잠금을 획득하거나 작업이 실패할 때 호출되는 완료 처리기입니다. 완료 처리기에 전달된 결과는 결과 FileLock입니다.

size 매개 변수로 position 지정된 지역은 실제 기본 파일 내에 포함되거나 겹칠 필요가 없습니다. 잠금 영역은 크기가 고정되어 있습니다. 잠긴 영역에 처음에 파일의 끝이 포함되어 있고 파일이 영역 이상으로 커지면 파일의 새 부분이 잠금으로 적용되지 않습니다. 파일의 크기가 증가할 것으로 예상되고 전체 파일에 대한 잠금이 필요한 경우 0부터 시작하는 영역과 예상된 최대 파일 크기보다 작지 않은 영역은 잠가야 합니다. 두 인수 #lock(Object,CompletionHandler) 메서드는 단순히 크기의 Long#MAX_VALUE영역을 잠급 수 있습니다. 요청된 지역과 겹치는 잠금이 이 Java 가상 머신에 의해 이미 유지되었거나 이 메서드가 호출되어 겹치는 지역을 잠그고 해당 작업이 완료되지 않은 경우 이 메서드는 throw됩니다 OverlappingFileLockException.

일부 운영 체제는 비동기 방식으로 파일 잠금을 획득하는 메커니즘을 지원하지 않습니다. 따라서 구현은 백그라운드 스레드 또는 연결된 스레드 풀의 스레드에 의해 실행된 작업에서 파일 잠금을 획득할 수 있습니다. 많은 잠금 작업이 미해결된 경우 Java 가상 머신의 스레드를 무기한 사용할 수 있습니다.

일부 운영 체제에서는 공유 잠금을 지원하지 않습니다. 이 경우 공유 잠금 요청이 배타적 잠금 요청으로 자동으로 변환됩니다. 새로 획득한 잠금이 공유되는지 또는 배타적인지 여부는 결과 잠금 개체의 FileLock#isShared() isShared 메서드를 호출하여 테스트할 수 있습니다.

파일 잠금은 전체 Java 가상 머신을 대신하여 유지됩니다. 동일한 가상 머신 내의 여러 스레드에서 파일에 대한 액세스를 제어하는 데 적합하지 않습니다.

에 대한 java.nio.channels.AsynchronousFileChannel.lock(long, long, boolean, A, java.nio.channels.CompletionHandler<java.nio.channels.FileLock, ? super A>)Java 설명서

이 페이지의 일부는 Android 오픈 소스 프로젝트에서 만들고 공유하고 Creative Commons 2.5 특성 라이선스에 설명된 용어에 따라 사용되는 작업을 기반으로 하는 수정 사항입니다.

적용 대상