Popularity
1.1
Stable
Activity
0.0
Stable
35
2
0

Programming language: Swift
License: MIT License
Tags: GCD    
Latest version: v1.1.0

Threader alternatives and similar libraries

Based on the "GCD" category.
Alternatively, view Threader alternatives based on common mentions on social networks and blogs.

Do you think we are missing an alternative of Threader or a related project?

Add another 'GCD' Library

README

Threader

Pretty GCD calls and easier code execution.

Version License Platform

Overview

Threader makes GCD calls easy to read & write. It also provides a simple way to execute code where and when you want.

Installation

CocoaPods

Threader is integrated with CocoaPods!

  1. Add the following to your Podfile: use_frameworks! pod 'Threader'
  2. In your project directory, run pod install
  3. Import the Threader module wherever you need it
  4. Profit

Manually

You can also manually add the source files to your project.

  1. Clone this git repo
  2. Add all the Swift files in the Threader/ subdirectory to your project
  3. Profit

Threader

Using Threader you can fine-tune where and how code get executed.

Threader.DispatchAsyncMain.execute {
    /* Important main-thread code */
}

The above simply executes the code within the block on the main-thread. Naturally, Threader also provides other execution options:

  • Immediate - executes the code block immediately on the current thread.
  • DispatchAsync - executes the code block asynchronously on a given DispatchQueue.
  • DispatchAsyncMain - executes code block asynchronously on the main thread.
  • DispatchAsyncGlobal - executes the code block asynchronously on the global-queue.
  • DispatchAsyncAfter - executes the code block asynchronously at a specified DispatchTime, on a DispatchQueue.
  • DispatchAsyncBarrier - executes the code block asynchronously blocking on a given DispatchQueue.
  • DispatchSync - executes the code block synchronously on a given DispatchQueue.
  • DispatchSyncBarrier - executes the code block synchronously blocking on a given DispatchQueue.
  • Operation - executes the code block on a given OperationQueue.
  • Block - executes code from a closure.
  • Default - executes code on the current thread, or on a global DispatchQueue depending on the block of code's current position in the thread.

Dispatching code to a given queue is as easy as:

let queue = DispatchQueue.global()
Threader.DispatchAsync(queue).execute {
    /* Important background-thread code */
}

It can even be simplified further:

Threader.DispatchAsync(.global()).execute {
    /* Important background-thread code */
}

DispatchQueue

In previous versions of Threader, DispatchQueue was a small wrapper around C-based GCD calls. However, as of Swift 3, Apple decided to provide their own solution. Not surprisingly, the also named their wrapper DispatchQueue. Moving forward, Threader will use Apple's native implementation of DispatchQueue for all GCD related calls.


*Note that all licence references and agreements mentioned in the Threader README section above are relevant to that project's source code only.