swift语言的学习笔记五(线程)

swift语言的学习笔记五(线程),第1张

概述swift 并没有使用新一套线程,使用OC源有的一套线程。下面以例子来演示一下swift中使用线程。 其用包括常见的:NSThread,NSOperationQueue,GCG [cpp]  view plain copy import UIKit         class swiftThreadDemo : UIViewController   {       var queue = NSOp

swift 并没有使用新一套线程,使用OC源有的一套线程。下面以例子来演示一下swift中使用线程。

其用包括常见的:NSThread,NSOperationQueue,GCG

[cpp] view plain copy @H_403_16@ importUIKit @H_403_16@ classswiftThreadDemo:UIVIEwController @H_403_16@ { varqueue=NSOperationQueue() @H_403_16@ //init() //{ ////alloc //super.init() //} deinit { //dealloc } functestGCDThread() dispatch_async(dispatch_get_global_queue(disPATCH_QUEUE_PRIORITY_DEFAulT,0),{ //这里写需要大量时间的代码 forvari=0;i<100000;i++ println("GCDthreadrunning.") @H_403_16@ } sleep(5); dispatch_async(dispatch_get_main_queue(),{ //这里返回主线程,写需要主线程执行的代码 println("这里返回主线程,写需要主线程执行的代码") @H_403_16@ }) }) @H_403_16@ functestNSThread() //方式一 //NSThread.detachNewThreadSelector("threadInMainMethod:",toTarget:self,withObject:nil) //方式二 @H_403_16@ varmyThread=NSThread(target:self,selector:"threadInMainMethod:",object:nil) myThread.start() functhreadInMainMethod(sender:AnyObject) println("NSThreadrunning.") println("NSThreadover.") @H_403_16@ functestNSOperationQueue() //func(op:NSOperation!) varmopt=myOperationThread() @H_403_16@ queue.addOperation(mopt) classmyOperationThread:NSOperation overrIDefuncstart() super.start() @H_403_16@ overrIDefuncmain() forvari=0;i<100000;i++ println("NSOperationrunning.") println("NSOperationover.") }
调用:

varst=swiftThreadDemo() st.testNSThread() @H_403_16@ sleep(2) st.testGCDThread() st.testNSOperationQueue() 总结

以上是内存溢出为你收集整理的swift语言的学习笔记五(线程)全部内容,希望文章能够帮你解决swift语言的学习笔记五(线程)所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1088513.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-27
下一篇 2022-05-27

发表评论

登录后才能评论

评论列表(0条)

保存