33 lines
		
	
	
		
			890 B
		
	
	
	
		
			Swift
		
	
	
			
		
		
	
	
			33 lines
		
	
	
		
			890 B
		
	
	
	
		
			Swift
		
	
	
| //
 | |
| //  ThreadExtension.swift
 | |
| //  GuruAnalyticsLib
 | |
| //
 | |
| //  Created by 袁仕崇 on 17/02/23.
 | |
| //
 | |
| 
 | |
| import Foundation
 | |
| 
 | |
| extension Thread {
 | |
|     var threadName: String {
 | |
|         if isMainThread {
 | |
|             return "main"
 | |
|         } else if let threadName = Thread.current.name, !threadName.isEmpty {
 | |
|             return threadName
 | |
|         } else {
 | |
|             return description
 | |
|         }
 | |
|     }
 | |
|     
 | |
|     var queueName: String {
 | |
|         if let queueName = String(validatingUTF8: __dispatch_queue_get_label(nil)) {
 | |
|             return queueName
 | |
|         } else if let operationQueueName = OperationQueue.current?.name, !operationQueueName.isEmpty {
 | |
|             return operationQueueName
 | |
|         } else if let dispatchQueueName = OperationQueue.current?.underlyingQueue?.label, !dispatchQueueName.isEmpty {
 | |
|             return dispatchQueueName
 | |
|         } else {
 | |
|             return "n/a"
 | |
|         }
 | |
|     }
 | |
| }
 |