diff --git a/Sources/BaseDataTransaction.swift b/Sources/BaseDataTransaction.swift index 59fe52f..cae9c84 100644 --- a/Sources/BaseDataTransaction.swift +++ b/Sources/BaseDataTransaction.swift @@ -429,7 +429,7 @@ public /*abstract*/ class BaseDataTransaction { internal let context: NSManagedObjectContext internal let transactionQueue: DispatchQueue - internal let childTransactionQueue = DispatchQueue.serial("com.corestore.datastack.childTransactionQueue") + internal let childTransactionQueue = DispatchQueue.serial("com.corestore.datastack.childTransactionQueue", qos: .utility) internal let supportsUndo: Bool internal let bypassesQueueing: Bool internal var isCommitted = false diff --git a/Sources/CoreStoreDefaults.swift b/Sources/CoreStoreDefaults.swift index 966d4f5..26ddec6 100644 --- a/Sources/CoreStoreDefaults.swift +++ b/Sources/CoreStoreDefaults.swift @@ -69,7 +69,7 @@ public enum CoreStoreDefaults { // MARK: Private - private static let defaultStackBarrierQueue = DispatchQueue.concurrent("com.coreStore.defaultStackBarrierQueue") + private static let defaultStackBarrierQueue = DispatchQueue.concurrent("com.coreStore.defaultStackBarrierQueue", qos: .userInteractive) private static var defaultStackInstance: DataStack? } diff --git a/Sources/CoreStoreManagedObject.swift b/Sources/CoreStoreManagedObject.swift index 896fc02..d663ecb 100644 --- a/Sources/CoreStoreManagedObject.swift +++ b/Sources/CoreStoreManagedObject.swift @@ -48,6 +48,6 @@ import Foundation private enum Static { - static let queue = DispatchQueue.concurrent("com.coreStore.coreStoreManagerObjectBarrierQueue") + static let queue = DispatchQueue.concurrent("com.coreStore.coreStoreManagerObjectBarrierQueue", qos: .userInteractive) static var cache: [ObjectIdentifier: [KeyPathString: Set]] = [:] } diff --git a/Sources/CoreStoreSchema.swift b/Sources/CoreStoreSchema.swift index 5fa8c26..7c976f3 100644 --- a/Sources/CoreStoreSchema.swift +++ b/Sources/CoreStoreSchema.swift @@ -254,7 +254,7 @@ public final class CoreStoreSchema: DynamicSchema { // MARK: Private - private static let barrierQueue = DispatchQueue.concurrent("com.coreStore.coreStoreDataModelBarrierQueue") + private static let barrierQueue = DispatchQueue.concurrent("com.coreStore.coreStoreDataModelBarrierQueue", qos: .userInteractive) private let allEntities: Set diff --git a/Sources/DataStack.swift b/Sources/DataStack.swift index 962acf7..02807a5 100644 --- a/Sources/DataStack.swift +++ b/Sources/DataStack.swift @@ -440,8 +440,8 @@ public final class DataStack: Equatable { internal let rootSavingContext: NSManagedObjectContext internal let mainContext: NSManagedObjectContext internal let schemaHistory: SchemaHistory - internal let childTransactionQueue = DispatchQueue.serial("com.coreStore.dataStack.childTransactionQueue") - internal let storeMetadataUpdateQueue = DispatchQueue.concurrent("com.coreStore.persistentStoreBarrierQueue") + internal let childTransactionQueue = DispatchQueue.serial("com.coreStore.dataStack.childTransactionQueue", qos: .utility) + internal let storeMetadataUpdateQueue = DispatchQueue.concurrent("com.coreStore.persistentStoreBarrierQueue", qos: .userInteractive) internal let migrationQueue: OperationQueue = Internals.with { let migrationQueue = OperationQueue() diff --git a/Sources/DispatchQueue+CoreStore.swift b/Sources/DispatchQueue+CoreStore.swift index 2987cbb..195d05a 100644 --- a/Sources/DispatchQueue+CoreStore.swift +++ b/Sources/DispatchQueue+CoreStore.swift @@ -31,7 +31,7 @@ import Foundation extension DispatchQueue { @nonobjc @inline(__always) - internal static func serial(_ label: String, qos: DispatchQoS = .default) -> DispatchQueue { + internal static func serial(_ label: String, qos: DispatchQoS) -> DispatchQueue { return DispatchQueue( label: label, @@ -43,7 +43,7 @@ extension DispatchQueue { } @nonobjc @inline(__always) - internal static func concurrent(_ label: String, qos: DispatchQoS = .default) -> DispatchQueue { + internal static func concurrent(_ label: String, qos: DispatchQoS) -> DispatchQueue { return DispatchQueue( label: label,