Thread 클래스

정의

스레드는 프로그램의 실행 스레드입니다.

[Android.Runtime.Register("java/lang/Thread", DoNotGenerateAcw=true)]
public class Thread : Java.Lang.Object, IDisposable, Java.Interop.IJavaPeerable, Java.Lang.IRunnable
[<Android.Runtime.Register("java/lang/Thread", DoNotGenerateAcw=true)>]
type Thread = class
    inherit Object
    interface IRunnable
    interface IJavaObject
    interface IDisposable
    interface IJavaPeerable
상속
Thread
파생
특성
구현

설명

스레드는 프로그램에서 실행되는 스레드입니다. Java Virtual Machine을 사용하면 애플리케이션에서 여러 실행 스레드를 동시에 실행할 수 있습니다.

모든 스레드에는 우선 순위가 있습니다. 우선 순위가 높은 스레드는 우선 순위가 낮은 스레드에 대한 기본 설정으로 실행됩니다. 각 스레드는 디먼으로 표시되거나 표시되지 않을 수도 있습니다. 일부 스레드에서 실행되는 코드가 새 Thread 개체를 만들 때 새 스레드의 우선 순위는 처음에 스레드 만들기의 우선 순위와 동일하게 설정되며, 만드는 스레드가 디먼인 경우에만 디먼 스레드입니다.

Java Virtual Machine이 시작되면 일반적으로 디먼이 아닌 단일 스레드가 있습니다(일반적으로 지정된 클래스의 명명된 메서드를 main 호출). Java Virtual Machine은 다음 중 하나가 발생할 때까지 스레드를 계속 실행합니다<. ul><li>클래스 Runtime 의 메서드가 exit 호출되었고 보안 관리자가 종료 작업을 수행하도록 허용했습니다. <li>디먼 스레드가 아닌 모든 스레드는 메서드 호출에서 run 반환하거나 메서드를 넘어 run 전파되는 예외를 throw하여 사망했습니다. </ul>

새 실행 스레드를 만드는 방법에는 두 가지가 있습니다. 하나는 클래스를 의 Thread하위 클래스로 선언하는 것입니다. 이 하위 클래스는 클래스 Thread의 메서드를 run 재정의해야 합니다. 그런 다음 서브클래스의 instance 할당하고 시작할 수 있습니다. 예를 들어 명시된 값보다 큰 소수를 계산하는 스레드는 다음과 같이 작성될 수 있습니다. <hr><blockquote>

class PrimeThread extends Thread {
                    long minPrime;
                    PrimeThread(long minPrime) {
                        this.minPrime = minPrime;
                    }

                    public void run() {
                        // compute primes larger than minPrime
                        &nbsp;.&nbsp;.&nbsp;.
                    }
                }

</blockquote><hr>

그런 다음, 다음 코드는 스레드를 만들고 실행을 <시작합니다. blockquote>

PrimeThread p = new PrimeThread(143);
                p.start();

</인용구>

스레드를 만드는 다른 방법은 인터페이스를 구현하는 클래스를 선언하는 것입니다 Runnable . 그런 다음, 해당 클래스는 메서드를 run 구현합니다. 그런 다음 클래스의 instance 할당하고, 를 만들 Thread때 인수로 전달하고, 시작할 수 있습니다. 이 다른 스타일의 동일한 예제는 hr><blockquote와 같습니다<.>

class PrimeRun implements Runnable {
                    long minPrime;
                    PrimeRun(long minPrime) {
                        this.minPrime = minPrime;
                    }

                    public void run() {
                        // compute primes larger than minPrime
                        &nbsp;.&nbsp;.&nbsp;.
                    }
                }

</blockquote><hr>

그런 다음, 다음 코드는 스레드를 만들고 실행을 <시작합니다. blockquote>

PrimeRun p = new PrimeRun(143);
                new Thread(p).start();

</인용구>

모든 스레드에는 식별 목적으로 이름이 있습니다. 둘 이상의 스레드의 이름이 같을 수 있습니다. 스레드를 만들 때 이름을 지정하지 않으면 새 이름이 생성됩니다.

달리 명시되지 않는 한 이 클래스의 null 생성자 또는 메서드에 인수를 전달하면 가 NullPointerException throw됩니다.

1.0에 추가되었습니다.

에 대한 Java 설명서입니다 java.lang.Thread.

이 페이지의 일부는 만들고 공유하며 에 설명된 조건에 따라 사용되는 작업을 기반으로 수정됩니다.

생성자

Thread()

Thread 개체를 할당합니다.

Thread(Action)

스레드는 프로그램의 실행 스레드입니다.

Thread(Action, String)

스레드는 프로그램의 실행 스레드입니다.

Thread(IntPtr, JniHandleOwnership)

JNI 개체의 관리되는 표현을 만들 때 사용되는 생성자입니다. 런타임에서 호출합니다.

Thread(IRunnable)

Thread 개체를 할당합니다.

Thread(IRunnable, String)

Thread 개체를 할당합니다.

Thread(String)

Thread 개체를 할당합니다.

Thread(ThreadGroup, Action)

스레드는 프로그램의 실행 스레드입니다.

Thread(ThreadGroup, Action, String)

스레드는 프로그램의 실행 스레드입니다.

Thread(ThreadGroup, Action, String, Int64)

스레드는 프로그램의 실행 스레드입니다.

Thread(ThreadGroup, IRunnable)

Thread 개체를 할당합니다.

Thread(ThreadGroup, IRunnable, String)

Thread 개체를 해당 실행 개체 target 로 할당하고, 을 해당 이름으로 지정 name 하고, 에서 참조하는 스레드 그룹에 속하도록 group합니다.

Thread(ThreadGroup, IRunnable, String, Int64)

Thread 개체를 해당 실행 개체 target 로 할당하고, 을 해당 이름으로 지정 name 하고, 에서 참조 group하는 스레드 그룹에 속하며 지정된 스택 크기를 가 되도록 합니다.

Thread(ThreadGroup, IRunnable, String, Int64, Boolean)

Thread 개체를 해당 실행 개체 target 로 할당하고, 을 해당 이름으로 지정 name 하고, 에서 참조하는 group스레드 그룹에 속하며, 가 stackSize이면 InheritableThreadLocal 상속 가능한 스레드 지역 변수 inheritThreadLocalstrue에 대한 초기 값을 상속합니다.

Thread(ThreadGroup, String)

Thread 개체를 할당합니다.

필드

MaxPriority

스레드가 가질 수 있는 최대 우선 순위입니다.

MinPriority

스레드가 가질 수 있는 최소 우선 순위입니다.

NormPriority

스레드에 할당된 기본 우선 순위입니다.

속성

AllStackTraces

모든 라이브 스레드에 대한 스택 추적의 맵을 반환합니다.

Class

Object의 런타임 클래스를 반환합니다.

(다음에서 상속됨 Object)
ContextClassLoader

이 스레드의 컨텍스트 ClassLoader 를 반환합니다. -또는- 이 스레드에 대한 컨텍스트 ClassLoader를 설정합니다.

Daemon

이 스레드가 디먼 스레드인지 테스트합니다. -또는- 이 스레드를 #isDaemon 디먼 스레드 또는 사용자 스레드로 표시합니다.

DefaultUncaughtExceptionHandler

catch되지 않은 예외로 인해 스레드가 갑자기 종료될 때 호출되는 기본 처리기를 반환합니다. -또는- catch되지 않은 예외로 인해 스레드가 갑자기 종료되고 해당 스레드에 대해 다른 처리기가 정의되지 않은 경우 호출되는 기본 처리기를 설정합니다.

Handle

기본 Android instance 대한 핸들입니다.

(다음에서 상속됨 Object)
Id

이 스레드의 식별자를 반환합니다.

IsAlive

이 스레드가 활성 상태인지 테스트합니다.

IsInterrupted

이 스레드가 중단되었는지 여부를 테스트합니다.

JniIdentityHashCode

스레드는 프로그램의 실행 스레드입니다.

(다음에서 상속됨 Object)
JniPeerMembers

스레드는 프로그램의 실행 스레드입니다.

Name

이 스레드의 이름을 반환합니다. -또는- 이 스레드의 이름을 인수 name와 같도록 변경합니다.

PeerReference

스레드는 프로그램의 실행 스레드입니다.

(다음에서 상속됨 Object)
Priority

이 스레드의 우선 순위를 반환합니다. -또는- 이 스레드의 우선 순위를 변경합니다.

ThreadGroup

이 스레드가 속한 스레드 그룹을 반환합니다.

ThresholdClass

이 API는 Android용 Mono 인프라를 지원하며 코드에서 직접 사용할 수 없습니다.

ThresholdType

이 API는 Android용 Mono 인프라를 지원하며 코드에서 직접 사용할 수 없습니다.

UncaughtExceptionHandler

catch되지 않은 예외로 인해 이 스레드가 갑자기 종료될 때 호출되는 처리기를 반환합니다. -또는- catch되지 않은 예외로 인해 이 스레드가 갑자기 종료될 때 호출되는 처리기를 설정합니다.

메서드

ActiveCount()

현재 스레드의 java에 있는 활성 스레드 수의 예상값을 반환합니다.

CheckAccess()

현재 실행 중인 스레드에 이 스레드를 수정할 수 있는 권한이 있는지 확인합니다.

Clone()

이 개체의 복사본을 만들고 반환합니다.

(다음에서 상속됨 Object)
CountStackFrames()
사용되지 않음.

이 스레드의 스택 프레임 수를 계산합니다.

CurrentThread()

현재 실행 중인 스레드 개체에 대한 참조를 반환합니다.

Destroy()
사용되지 않음.

UnsupportedOperationException을 버립니다.

Dispose()

스레드는 프로그램의 실행 스레드입니다.

(다음에서 상속됨 Object)
Dispose(Boolean)

스레드는 프로그램의 실행 스레드입니다.

(다음에서 상속됨 Object)
DumpStack()

현재 스레드의 스택 추적을 표준 오류 스트림에 인쇄합니다.

Enumerate(Thread[])

현재 스레드의 스레드 그룹 및 해당 하위 그룹에 있는 모든 활성 스레드를 지정된 배열에 복사합니다.

Equals(Object)

다른 개체가 이 개체와 "같음"인지 여부를 나타냅니다.

(다음에서 상속됨 Object)
GetHashCode()

개체의 해시 코드 값을 반환합니다.

(다음에서 상속됨 Object)
GetStackTrace()

이 스레드의 스택 덤프를 나타내는 스택 추적 요소의 배열을 반환합니다.

GetState()

이 스레드의 상태를 반환합니다.

HoldsLock(Object)

현재 스레드가 지정된 개체에 대한 모니터 잠금을 보유하는 경우에만 를 반환 true 합니다.

Interrupt()

이 스레드를 중단합니다.

Interrupted()

현재 스레드가 중단되었는지 여부를 테스트합니다.

JavaFinalize()

가비지 수집에서 개체에 대한 참조가 더 이상 없다고 판단할 때 개체의 가비지 수집기에서 호출됩니다.

(다음에서 상속됨 Object)
Join()

이 스레드가 죽을 때까지 기다립니다.

Join(Int64)

이 스레드가 죽을 때까지 최대 millis 밀리초 정도 기다립니다.

Join(Int64, Int32)

이 스레드가 죽을 때까지 최대 millis 밀리초와 nanos 나노초까지 기다립니다.

Notify()

이 개체의 모니터에서 대기 중인 단일 스레드를 해제합니다.

(다음에서 상속됨 Object)
NotifyAll()

이 개체의 모니터에서 대기 중인 모든 스레드를 해제합니다.

(다음에서 상속됨 Object)
OnSpinWait()

다른 작업에서 하나 이상의 작업이 발생할 때까지 호출자가 일시적으로 진행할 수 없음을 나타냅니다.

Resume()
사용되지 않음.

UnsupportedOperationException을 버립니다.

Run()

이 스레드가 별도의 Runnable 실행 개체를 사용하여 생성된 경우 해당 Runnable 개체의 run 메서드가 호출되고, 그렇지 않으면 이 메서드는 아무 작업도 수행하지 않으며 를 반환합니다.

SetHandle(IntPtr, JniHandleOwnership)

Handle 속성을 설정합니다.

(다음에서 상속됨 Object)
Sleep(Int64)

시스템 타이머 및 스케줄러의 정밀도 및 정확도에 따라 현재 실행 중인 스레드가 지정된 시간(밀리초)에 대해 절전 모드(일시적으로 실행 중단)되도록 합니다.

Sleep(Int64, Int32)

시스템 타이머 및 스케줄러의 정밀도 및 정확도에 따라 현재 실행 중인 스레드가 지정된 시간(밀리초) 및 지정된 나노초 수에 대해 절전 모드(일시적으로 실행 중단)되도록 합니다.

Start()

이 스레드가 실행을 시작하도록 합니다. Java Virtual Machine은 이 스레드의 메서드를 run 호출합니다.

Stop()
사용되지 않음.

UnsupportedOperationException을 버립니다.

Stop(Throwable)
사용되지 않음.

UnsupportedOperationException을 버립니다.

Suspend()
사용되지 않음.

UnsupportedOperationException을 버립니다.

ToArray<T>()

스레드는 프로그램의 실행 스레드입니다.

(다음에서 상속됨 Object)
ToString()

개체의 문자열 표현을 반환합니다.

(다음에서 상속됨 Object)
UnregisterFromRuntime()

스레드는 프로그램의 실행 스레드입니다.

(다음에서 상속됨 Object)
Wait()

현재 스레드가 각성될 때까지 대기하도록 합니다. 일반적으로 <알림을<> 받>거나<<> 중단/em>합니다.

(다음에서 상속됨 Object)
Wait(Int64)

현재 스레드가 깨어날 때까지 대기하게 하며, 일반적으로 <알림을 받<>거나 중단</>em>>을 받거나 <일정량의 실시간이 경과할 때까지 대기합니다.

(다음에서 상속됨 Object)
Wait(Int64, Int32)

현재 스레드가 깨어날 때까지 대기하게 하며, 일반적으로 <알림을 받<>거나 중단</>em>>을 받거나 <일정량의 실시간이 경과할 때까지 대기합니다.

(다음에서 상속됨 Object)
Yield()

현재 스레드가 프로세서의 현재 사용을 산출할 의향이 있음을 스케줄러에 대한 힌트입니다.

명시적 인터페이스 구현

IJavaPeerable.Disposed()

스레드는 프로그램의 실행 스레드입니다.

(다음에서 상속됨 Object)
IJavaPeerable.DisposeUnlessReferenced()

스레드는 프로그램의 실행 스레드입니다.

(다음에서 상속됨 Object)
IJavaPeerable.Finalized()

스레드는 프로그램의 실행 스레드입니다.

(다음에서 상속됨 Object)
IJavaPeerable.JniManagedPeerState

스레드는 프로그램의 실행 스레드입니다.

(다음에서 상속됨 Object)
IJavaPeerable.SetJniIdentityHashCode(Int32)

스레드는 프로그램의 실행 스레드입니다.

(다음에서 상속됨 Object)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

스레드는 프로그램의 실행 스레드입니다.

(다음에서 상속됨 Object)
IJavaPeerable.SetPeerReference(JniObjectReference)

스레드는 프로그램의 실행 스레드입니다.

(다음에서 상속됨 Object)

확장 메서드

JavaCast<TResult>(IJavaObject)

Android 런타임 확인 형식 변환을 수행합니다.

JavaCast<TResult>(IJavaObject)

스레드는 프로그램의 실행 스레드입니다.

GetJniTypeName(IJavaPeerable)

스레드는 프로그램의 실행 스레드입니다.

적용 대상