Skip to content

Instantly share code, notes, and snippets.

let operationQueue: OperationQueue = OperationQueue()
OperationQueue.main
func executeOnMain() {
if !Thread.isMainThread {
DispatchQueue.main.async(execute: {() -> Void in
executeOnMain()
})
return
}
// do something
}
let lock = self
objc_sync_enter(lock)
closure()
objc_sync_exit(lock)
let s = DispatchSemaphore(value: 1)
_ = s.wait(timeout: DispatchTime.distantFuture)
// do something
s.signal()
var m = pthread_mutex_t()
pthread_mutex_lock(&m)
// do something
pthread_mutex_unlock(&m)
let lock = NSLock()
lock.lock()
//do something
lock.unlock()
operation2.addDependency(operation1) //execute operation1 before operation2
class CustomOperation: Operation {
override func main() {
guard isCancelled == false else {
finish(true)
return
}
// Do something
finish(true)
let operationQueue: OperationQueue = OperationQueue()
operationQueue.addOperations([operation1], waitUntilFinished: false)