Get the App
SLTechnology News&Howtos  ›  Development  › 

How to use threads Thread and Operation

Shulou Source: shulou.com Published: 2022-06-03 06:10:13 09月29日 Update

本篇内容主要讲解"如何使用线程Thread与Operation",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"如何使用线程Thread与Operation"吧!

Thread//Thread 原始方式//Thread.detachNewThread 快捷方式创建Threadfor i in 0...10 { Thread.detachNewThread{ print(i) }}/* 0 7 3 4 5 2 1 6 8 9 10 */Thread.detachNewThreadSelector//Thread.detachNewThreadSelectorclass ObjectForThread { func threadTest() { let thread = Thread(target: self, selector: #selector(threadWorker), object: nil) thread.start() print("threadTest") } @objc func threadWorker() { print("threadWorker") }}let obj = ObjectForThread()obj.threadTest()/* threadTest threadWorker */Cocoa Operation//Cocoa Operation(Operation和OperationQueue)class ObjectOperation { func test() { let operation = BlockOperation{ [weak self] in self?.threadWorker() } let queue = OperationQueue() queue.addOperation(operation) } @objc func threadWorker() { sleep(1) print("threadWorker") }}let objOperation = ObjectOperation()objOperation.test()print("after invoke test")//after invoke test//threadWorker自定义Operation//自定义Operationclass MyOperation: Operation { override func main() { sleep(1) print("MyOperation main") }}class CustomOperation { func test() { let operation = MyOperation() operation.completionBlock = { () -> Void in print("completionBlock") } let queue = OperationQueue() queue.addOperation(operation) }}let customOperation = CustomOperation()customOperation.test()print("after invoke customOperation test")//after invoke customOperation test//MyOperation main//completionBlock到此,相信大家对"如何使用线程Thread与Operation"有了更深的了解,不妨来实际操作一番吧!这里是网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

Tags: Threads content methods learning original practical deeper interesting practical practical easy to operate methods more friends websites channels queries Apple Docker Huawei Linux macOS MariaDB Microsoft MySQL NVidia OPPO Reno Xiaomi Microsoft Linux macOS Shulou Information