OC中多线程的创建方法

方法一:
NSThread *t = [[NSThread alloc] initWithTarget:self selector:@selector(mutableThread) object:nil];
方法二:
[NSThread detachNewThreadSelector:@selector(mutableThread) toTarget:self withObject:nil];
方法三:
[self performSelectorInBackground:@selector(mutableThread) withObject:nil];
方法四:多线程blog创建
NSOperationQueue *operationQueue = [[NSOperationQueue alloc] init];
//会开启一个多线程
[operationQueue addOperationWithBlock:^{
for(int i = 0; i < 50 ;i++)
{
NSLog(@"多线程:%d",i);
}
}];
方法五:
//相当于是一个线程池
NSOperationQueue *operationQueue = [[NSOperationQueue alloc] init];
operationQueue.maxConcurrentOperationCount = 1;//设置并发数
//创建线程
NSInvocationOperation *opertion1 = [[NSInvocationOperation alloc] initWithTarget:self selector:@selector(thread1) object:nil];
//设置线程的优先级
[opertion1 setQueuePriority:NSOperationQueuePriorityVeryLow];
//创建另一个线程
NSInvocationOperation *opertion2 = [[NSInvocationOperation alloc] initWithTarget:self selector:@selector(thread2) object:nil];
[opertion2 setQueuePriority:NSOperationQueuePriorityHigh];
方法六:
dispatch_queue_t queue = dispatch_queue_create("test",NULL);
dispatch_async(queue,^{
for(int i=0;i<50;i++)
{
NSLog(@"多线程:%d",i);

});

时间: 2024-09-20 06:25:37

OC中多线程的创建方法的相关文章

Win32 多线程的创建方法和基本使用 .

Summary: 总结Win32提供的创建多线程相关的API接口和基本的使用框架. Ref: MSDN: http://msdn.microsoft.com/zh-cn/library/y6h8hye8(v=VS.100) Win32多线程的创建方法主要有: (1)CreateThread() (2)_beginthread()&&_beginthreadex() (3)AfxBeginThread() (4)CWinThread类 (1)CreateThread() 百度百科:http:

Win8.1系统中图片密码创建方法

  用过Windows 8和Windows 8.1的朋友应该都知道图片密码,图片密码确实很方便,登陆系统,不用再敲一串数字+字母组成的登录口令了. 下面介绍下图片密码的创建方法: 1. 按快捷键[Win+I],打开[设置]然后点击[更改电脑设置]; 2. 在[电脑设置]里点击[账户]; 3. 这一步一定要先把用户置一个密码才可以设置图片密码.这里是事先设置好用户密码的,点击[添加]; 4. 创建图片密码时需要验证一下本地用户密码,输入密码; 5. 点击[选择],选择需要设置[图片密码]的图片路径

Python中多线程的创建及基本调用方法_python

1. 多线程的作用简而言之,多线程是并行处理相互独立的子任务,从而大幅度提高整个任务的效率. 2. Python中的多线程相关模块和方法Python中提供几个用于多线程编程的模块,包括thread,threading和Queue等 thread模块提供了基本的线程和锁的支持,除产生线程外,也提供基本的同步数据结构锁对象,其中包括: start_new_thread(function, args kwargs=None)  产生一个新的线程来运行给定函数 allocate_lock()  分配一个

在Linux系统的命令行中为MySQL创建用户的方法

  这篇文章主要介绍了在Linux系统的命令行中为MySQL创建用户的方法,包括对所建用户的权限管理,需要的朋友可以参考下 要访问一个MySQL服务器,你需要使用一个用户帐号登录其中方可进行.每个MySQL用户帐号都有许多与之相关连的属性,例如用户名.密码以及权限和资源限制."权限"定义了特定用户能够在MySQL服务器中做什么,而"资源限制"为用户设置了一系列服务器资源的使用许可.创建或更新一个用户涉及到了对用户帐号所有属性的管理. 下面展示了如何在Linux中创建

MySQL中使用Sphinx实现多线程搜索的方法

  这篇文章主要介绍了在MySQL中使用Sphinx实现多线程搜索的方法,修改Sphinx的搜索引擎配置即可,需要的朋友可以参考下 MySQL.Sphinx及许多数据库和搜索引擎中的查询是单线程的.比如说,在一台32个CPU核心.16个磁盘的R910服务器上执行一个查询,它最多只会用到一个核心和一个磁盘.没错,只会使用一个. 如果查询是CPU密集型作业,那么会使用大约3%的整机CPU能力(以上述32核机器为例).如果是磁盘密集型,则大约会使用6%的整机IO能力(也是与上例同样的配置,16个磁盘组

Excel中四种常用类型图表的创建方法

Excel中四种常用类型图表的创建方法   上图中的四种不同类型的图表都是根据同一个表格创建的,也就是说,这四种常用的图表是没有特定的数据限制的. 一.创建柱形图 1.将光标定位到要创建图表的数据区域内,然后切换到"插入"选项卡,在"图表"组的"柱形图"下选择一种需要的柱形图类型进行创建. 2.现在工作表中已经插入了一个选择的柱形图. 二.创建条形图 1.将光标定位到表格区域内,然后选择一个合适的条形图类型进行创建. 2.现在工作表中已经插入了一

Java中数组的创建与传参方法(学习小结)_java

(一)数组的创建 数组的创建包括两部分:数组的申明与分配内存空间. int score[]=null; //申明一维数组 score=new int[3]; //分配长度为3的空间 数组的申明还有另外一种方式: int[] score=null; //把中括号写在数组名前面 通常,在写代码时,为了方便,我们将两行合并为一行: int score[]=new int score[3]; //将数组申明与分配内存写在一行 (二)传递参数 由于初学java,这里只讨论值传递,不考虑地址传递.主要有3点

Android中new Notification创建实例的最佳方法_Android

目前 Android 已经不推荐使用下列方式创建 Notification实例: Notification notification = new Notification(R.drawable.ic_launcher,"This is ticker text",System.currentTimeMillis()); 最好采用下列方式: Notification notification = new Notification.Builder(this) .setContentTitle

java-JAVA中多线程stop() 和 suspend()方法为何不推荐使用?

问题描述 JAVA中多线程stop() 和 suspend()方法为何不推荐使用? 有一道JAVA面试题如题目所写,网上答案是这么写的, 反对使用 stop(),是因为它不安全.它会解除由线程获取的所有锁定,而且如果对象处于一 种不连贯状态,那么其他线程能在那种状态下检查和修改它们.结果很难检查出真正的问题 所在.suspend()方法容易发生死锁.调用 suspend()的时候,目标线程会停下来,但却仍 然持有在这之前获得的锁定.此时,其他任何线程都不能访问锁定的资源,除非被"挂起"