Swift多线程

1:第一种多线程

  func fun1(){

  for i in 200...300{

  NSLog("%d",i);

  }  

}

  func fun2(){

  for i in 300...400{

  NSLog("%d",i);

  }

  }

  var th1 = NSThread(target:self,selector:"fun1",object:nil);

  th1.start();

  //开启线程

  NSThread.detachNewThreadSelector("fun2",toTarget:self,withObject:nil);

第二种创建线程池:

  var queue = NSOperationQueue();

  queue.maxConcurrentOperationCount = 1;

  queue.addOperationWithBlock({

  for i in 400...500{

  NSLog("%d",i);

  }

  var op = NSInvocationOperation (target:self,selector:"fun1",object:nil);

  var op1 = NSInvocationOperation(target:self,selector:"fun2",object:nil);

  queue.addOperation(op);

  queue.addOperation(op1);

  })

第三种GCD创建多线程

  

var queue = dispatch_queue_create("test", nil);

dispatch_async(queue, {

for i in 0...100{

NSLog("异常%d", i);

}

dispatch_sync(dispatch_get_main_queue(), {

NSLog("是否是主线程\(NSThread.isMainThread())");

})

})

时间: 2024-11-25 14:32:29

Swift多线程的相关文章

Swift - 多线程实现方式(2) - NSOperation和NSOperationQueue

1,Swift继续使用Object-C原有的一套线程,包括三种多线程编程技术: (1)NSThread (2)Cocoa NSOperation(NSOperation和NSOperationQueue) (3)Grand Central Dispath(GCD) 2,本文着重介绍Cocoa NSOperation Cocoa NSOperation不需要关心线程管理和数据同步的事情,可以把精力放在自己需要执行的操作上.相关的类有NSOperation和 NSOperationQueue.其中N

Swift - 多线程实现方式 - Grand Central Dispatch(GCD)

1,Swift继续使用Object-C原有的一套线程,包括三种多线程编程技术:(1)Thread(2)Cocoa Operation(Operation和OperationQueue)(3)Grand Central Dispath(GCD) 2,本文着重介绍Grand Central Dispath(GCD) GCD是Apple开发的一个多核编程的解决方法,基本概念就是dispatch queue(调度队列),queue是一个对象,它可以接受任务,并将任务以先到先执行的顺序来执行.dispat

Swift - 多线程GCD详解

//  GCD详解 //  目录: //  1. 创建GCD队列(最常用) //  2. 自定义创建队列 //  3. 使用多线程实现延迟加载 //  4. 使用多线程实现重复(循环) //  5. 使用多线程来控制 多任务数据加载 和 UI 的显示的先后顺序 //  6. 暂停队列 //  7. 恢复队列 // import UIKit class ViewController: UIViewController { @IBOutlet var myLable:UILabel? @IBActi

iOS开发常用三方库、插件、知名博客等等

TimLiu-iOS   Swift版本点击这里 欢迎加入QQ交流群: 594119878 介绍 这是一个用于iOS开发的各种开源库.开源资料.开源技术等等的索引库. github排名 https://github.com/trending,github搜索:https://github.com/search 使用方法 根据目录关键字搜索,记得包含@,以保证搜索目录关键字的唯一性. 问题反馈 期待大家和我们一起共同维护,同时也期望大家随时能提出宝贵的意见(直接提交issues即可).请广大网友只

Swift 学习-多线程

1:第一种多线程 func fun1(){ for i in 200...300{ NSLog("%d",i); } } func fun2(){ for i in 300...400{ NSLog("%d",i); } } var th1 = NSThread(target:self,selector:"fun1",object:nil); th1.start(); //开启线程 NSThread.detachNewThreadSelector

iOS开发——实战篇Swift篇&UItableView结合网络请求,多线程,数据解析,MVC实战

UItableView结合网络请求,多线程,数据解析,MVC实战 学了这么久的swift都没有做过什么东西,今天就以自己的一个小小的联系,讲一下,怎么使用swift在实战中应用MVC,并且结合后面的高级知识:网络请求,JSON数据解析一起应用到一个项目中来. 好了,废话不多说,我们直接开始吧. 首先看看最终的效果: 是不是很简单,就是个UItableView显示一些简单的数据,如果你真的觉得太简单了,那么请绕道,寻找更深入东西,但或者没有你想的那么简单,这不仅仅是一个tableView,为什么呢

swift基本语法-多线程

实现多线程的方式以及优势: 1.NSThread 轻量级最轻,但需要自己管理线程的生命周期和线程同步.线程同步对数据的加锁会有一定的系统消耗. 2.Cocoa NSOpertion(NSOpertion 和 NSOpertionQuene) Cocoa NSOpertion 不需要关心线程管理和数据同步的事情.相关的类有NSOpertion 和 NSOpertionQuene.启动NSOpertion 是个抽象类,使用它必须用他的子类,可以实现它或者它定义好的两个子类: NSInvocation

iOS多线程系统整理 swift

多线程   是一个应用程序内多个代码的执行路径,执行线程,同时在同一时间里执行不同的任务. 三种: 1.NSTread 2.Cocoa NSOperation (NSOperation,NSOperationQueue) 3.GrandCentralDispatch:GCD 1\NSTread 相对最简单,需要自己管理线程的生命周期和线程同步(加锁会有一定的系统开销) 两种应用方式: 需要传递三个参数: selector:线程执行方法"" target:方法所在的对象 argument

iOS四种多线程(swift和oc)

在这篇文章中,我将为你整理一下 iOS 开发中几种多线程方案,以及其使用方法和注意事项.当然也会给出几种多线程的案例,在实际使用中感受它们的区别.还有一点需要说明的是,这篇文章将会使用 Swift 和 Objective-c 两种语言讲解,双语幼儿园.OK,let's begin! 概述 这篇文章中,我不会说多线程是什么.线程和进程的区别.多线程有什么用,当然我也不会说什么是串行.什么是并行等问题,这些我们应该都知道的. 在 iOS 中其实目前有 4 套多线程方案,他们分别是: Pthreads