https://developer.apple.com/documentation/foundation/thread/
class Thread: NSObject
Thread 클래스는 스레드의 런타임 상태를 모니터링하기 위한 체계를 지원한다.
스레드의 실행을 취소하거나, 스레드가 실행중인지 작업을 완료했는지를 결정할 수 있다. 스레드 실행 취소는 당신의 스레드 코드로부터의 지원이 필요하다 - cancel()
설명 참조.
스레드의 메인 엔트리 포인트를 구현하기 위해 Thread를 서브클래스로 하고 main() 메서드를 오버라이딩할 수 있다. main() 을 오버라이딩하면, 상속된 메서드를 부르기 위해 super를 호출할 필요가 없다.
init()
init(target: Any, selector: Selector, object: Any?)
class func detachNewThreadSelector(Selector, toTarget: Any, with: Any?)
func start()
func main()
class func sleep(until: Date)
class func sleep(forTimeInterval: TimeInterval)
class func exit()
func cancel()
var isExcuting: Bool
var isFinished: Bool
var isCancelled: Bool
class var isMainThread: Bool
var isMainThread: Bool
class var main: Thread
class func isMultiThreaded() -> Bool
class var current: Thread
class var callStackReturnAddresses: [NSNumber]
class var callStackSymbols: [String]
var threadDictionary: NSMutableDictionary
let NSAssertionHandleerKey: String
var name: String?
var stackSize: Int
var qualityOfService: QualityOfService
enum QualityOfService
class func threadPriority() -> Double
var threadPriority: Double
class func setThreadPriority(Double) -> Bool
static let NSDidBecomeSingleThreaded: NSNotification.Name
static let NSThreadWillExit: NSNotification.Name
static let NSWillBecomeMultiThreaded: NSNotification.Name
detachNewThreadSelector(_:toTarget:with:)
를 사용해 스레드가 처음 분리되었을 때, 또는 start()
메서드에서. 이러한 메서드들의 후속 호출은 이 알림을 발행하지 않는다. 이 알림의 옵저버들은 (새 스레드가 아닌)메인 스레드에서 호출되는 알림 메서드를 가진다. 옵저버 알림 메서드는 새 스레드가 실행을 시작하기 전에 항상 실행된다. init(block: () -> Void)
class func detachNewThread(() -> Void)