https://github.com/space-code/concurrency
concurrency is a collection of concurrency primitives which helps increase testability
https://github.com/space-code/concurrency
concurrency dispatch-queues swift
Last synced: about 2 months ago
JSON representation
concurrency is a collection of concurrency primitives which helps increase testability
- Host: GitHub
- URL: https://github.com/space-code/concurrency
- Owner: space-code
- License: mit
- Created: 2023-01-11T08:19:59.000Z (over 2 years ago)
- Default Branch: dev
- Last Pushed: 2025-01-30T17:43:13.000Z (4 months ago)
- Last Synced: 2025-04-11T04:13:04.370Z (about 2 months ago)
- Topics: concurrency, dispatch-queues, swift
- Language: Swift
- Homepage:
- Size: 317 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README

concurrency
## Description
`concurrency` is a collection of concurrency primitives which helps increase testability- [Usage](#usage)
- [Requirements](#requirements)
- [Installation](#installation)
- [Communication](#communication)
- [Contributing](#contributing)
- [Author](#author)
- [License](#license)## Usage
```swift
import Concurrency// Create `DispatchQueueFactory` instance
let factory = DispatchQueueFactory()// Build `main` queue from factory
let mainQueue = factory.main()// Build `global` queue with QOS
let globalQueue = factory.global(qos: .background)// Build `private` queue
let privateQueue = factory.privateQueue(label: String(describing: self),
qos: .background,
attributes: .concurrent,
autoreleaseFrequency: .inherit,
target: nil)
```For testing purposes, you can use `TestConrurrency` target.
```swift
import TestConcurrencylet testQueue = TestDispatchQueue()
// Run block immediately
testQueue.async {}
```## Requirements
- iOS 13.0+ / macOS 10.15+ / tvOS 13.0+ / watchOS 6.0+
- Xcode 14.0
- Swift 5.5## Installation
### Swift Package ManagerThe [Swift Package Manager](https://swift.org/package-manager/) is a tool for automating the distribution of Swift code and is integrated into the `swift` compiler. It is in early development, but `concurrency` does support its use on supported platforms.
Once you have your Swift package set up, adding `concurrency` as a dependency is as easy as adding it to the `dependencies` value of your `Package.swift`.
```swift
dependencies: [
.package(url: "https://github.com/space-code/concurrency.git", .upToNextMajor(from: "0.2.0"))
]
```## Communication
- If you **found a bug**, open an issue.
- If you **have a feature request**, open an issue.
- If you **want to contribute**, submit a pull request.## Contributing
Bootstrapping development environment```
make bootstrap
```Please feel free to help out with this project! If you see something that could be made better or want a new feature, open up an issue or send a Pull Request!
## Author
Nikita Vasilev, [email protected]## License
concurrency is available under the MIT license. See the LICENSE file for more info.