swift 多线程实现

前端之家收集整理的这篇文章主要介绍了swift 多线程实现前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
  1. //队列 同步 异步 锁 延时 依赖
  2. func thread_queue(){
  3. //创建串行队列
  4. let serial_queue = dispatch_queue_create("label",DISPATCH_QUEUE_SERIAL)
  5. //创建并发队列
  6. let con_queue = dispatch_queue_create("con",DISPATCH_QUEUE_CONCURRENT)
  7. //派送异步线程
  8. dispatch_async(serial_queue,{
  9. print("doing something 1")
  10. })
  11. //派发同步线程
  12. dispatch_sync(con_queue,{
  13. print("doing something")
  14. })
  15. //获得主线程队列
  16. let main_queue = dispatch_get_main_queue()
  17. //创建队列组
  18. let group = dispatch_group_create()
  19. //派发异步线程组
  20. dispatch_group_async(group,main_queue,{
  21. print("queue only have asynchronize method")
  22. })
  23. }
  24. func thread_oop (){
  25. // NSThread.detachNewThreadSelector("sel",toTarget: self,withObject: nil)
  26. // @convention()
  27. let mainThread = NSThread.mainThread()
  28. mainThread.performSelector("")
  29. mainThread.start()
  30. mainThread.cancel()
  31. mainThread.main()
  32. //abort()
  33. //exit(1)
  34. ///usage 1
  35. let operation = NSBlockOperation(block: {
  36. })
  37. ///usage 2
  38. operation.addExecutionBlock({
  39. })
  40. operation.start()
  41. // operation.addDependency(<#T##op: NSOperation##NSOperation#>)
  42. let operation1 = NSOperation()
  43. operation1.addDependency(operation)
  44. //主线程负责页面刷新,主线程如果阻塞,程序将卡死.
  45. let queue = NSOperationQueue.mainQueue()
  46. queue.addOperations([operation1,operation],waitUntilFinished: false)
  47. }

猜你在找的Swift相关文章