`
sogotobj
  • 浏览: 662051 次
  • 性别: Icon_minigender_2
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

使用NSObject中的函数起线程

 
阅读更多

下面的这些函数是定义在NSObject中的,关于它们的具体含义,你可以在官方文档中找,或者google之,这里就不啰嗦了。

Sending Messages

下面给出一个例子:

- (IBAction)Start:(id)sender {
[self performSelector:@selector(doSomething:)];
//[self doSomething:nil];
//[self per
[self performSelectorInBackground:@selector(doSomething:) withObject:nil];

}

-(void)doSomething:(id)inputData
{
if([NSThread isMainThread])
{
NSLog(@"in main thread");

}
else {
NSLog(@"not in main thread");
}
NSLog(@"kkkkk");
}

分享到:
评论

相关推荐

    iOS中多线程原理与runloop介绍

    在iOS中创建线程通常有三种方式:使用`NSThread`、使用`NSObject`类提供的方法以及使用POSIX线程。 1. **使用`NSThread`** - **创建`NSThread`对象并启动**:可以通过创建`NSThread`实例,并调用`start`方法来...

    多线程编程指南

    在某些情况下,使用volatile变量是线程安全的技巧之一,它可以保证变量在多线程中的可见性。 此外,本指南还包含了很多实用的示例代码和实践建议,以及对Cocoa、ApplicationKit框架和CoreData框架中线程安全的总结...

    iOS多线程编程指南

    - **使用NSObject来生成一个线程**: 通过继承`NSObject`类并重写相应的方法来创建线程。 - **使用其他线程技术**: 如GCD。 **2.3 配置线程属性** - **配置线程的堆栈大小**: 设置线程的堆栈大小,以适应不同的应用...

    多线程编程 第一章 关于多线程编程

    - **2.2.3 使用NSObject来生成一个线程**:通过继承NSObject并重写相关方法来创建自定义线程。 - **2.2.4 使用其他线程技术**:例如GCD或者第三方库。 - **2.2.5 在Cocoa程序上面使用POSIX线程**:虽然不是首选方式...

    iOS开发多线程编程指南

    - **2.2.3 使用NSObject来生成一个线程**:通过继承NSObject并重写相应方法实现线程管理。 - **2.2.4 使用其他线程技术**:如GCD或Operation Queues等更高级别的并发工具。 - **2.2.5 在Cocoa程序上面使用POSIX线程*...

    IOS 多线程文档

    - 在需要长时间运行的后台线程中使用RunLoop来处理事件。 ##### 3.3 使用RUNLOOP对象 - **3.3.1 获得RunLoop对象**: 通过`NSRunLoop`类创建RunLoop实例。 - **3.3.2 配置RunLoop**: 添加输入源、模式等。 - **3.3.3...

    iOS多线程编程指南(中文版)

    - RunLoop是一种协调线程活动的机制,用于管理线程中的事件处理。 - **1.4.3 同步工具** - 包括锁、条件变量等,用于控制多个线程之间的访问顺序。 - **1.4.4 线程间通信** - 使用通知中心、委托模式等方式进行...

    RunLoop-线程保活.zip

    这样,即使线程中没有任务,它也不会立即退出。 3. **添加源(Sources)**:RunLoop需要事件源才能继续运行。你可以添加自定义的`NSPort`或者`NSRunLoopSource`,这样当有新任务到来时,RunLoop会被唤醒并执行任务...

    GNUstep API函数速查手册

    这本手册深入浅出地介绍了GNUstep中的各种API函数,对于熟悉iOS开发的程序员来说,它同样具有参考价值,因为Objective-C是iPhone和iPad应用开发的主要语言。 在Objective-C编程中,`NSStep`可能指的是`NSObject`的...

    在IOS中为什么使用多线程及多线程实现的三种方法

    通过performSelectorInBackground:withObject:方法,可以将一个方法放到后台线程中执行,从而避免阻塞主线程。这种方式简单易用,但缺乏对线程并发和依赖关系的管理。 **三、NSOperation和NSOperationQueue** ...

    iOS Thread programming guide

    文档在运行循环部分详细介绍了运行循环的结构、模式、输入源、定时源、运行循环观察者等内容,并且解释了何时以及如何在应用程序中使用运行循环。同时,文档也讨论了如何配置运行循环源、定义自定义输入源、配置定时...

    Objective-c利用协议实现回调函数

    在实际项目中,可能还需要考虑线程安全、代理的可为空性等问题。通过这样的方式,我们可以灵活地在不同对象间传递信息,处理异步操作的结果,提高了代码的可维护性和复用性。 在"CallBackDemo"源码实例中,你可以...

    ios 基础知识 汇总文档

    `NSThread`是iOS中最常见的多线程管理工具之一,下面详细介绍其基本使用方法。 #### 创建与启动线程 `NSThread`提供了多种创建线程的方法: 1. **直接创建线程**: ```objective-c [NSThread ...

    OC单例模式讲解

    2. **使用`@synchronized`关键字**:在获取实例的方法中使用 `@synchronized` 关键字来保证线程安全。 3. **静态局部变量**:如上例所示,使用静态局部变量配合 `dispatch_once` 可以有效地解决线程安全问题。 ####...

    Swift普通单利和gcd单利实现

    这里,我们使用了`dispatch_once`函数,这是一个GCD中的同步原语,保证了`Once.dataCenterObj`的初始化只会在程序运行期间执行一次。这样,即使在多线程环境中,也能确保单例的线程安全。 另外,Swift 之 GCD 开线...

    ios 面试题

    - **NSObject方法:**使用`performSelectorInBackground:withObject:`方法。 - **NSThread:**直接创建并启动线程。 - **NSOperation:**利用操作队列来管理并执行任务。 - **GCD (Grand Central Dispatch)**:使用`...

    Blocks 编程要点提要

    - **多线程**:由于 Blocks 可以捕获并持有变量,因此非常适合于多线程环境中使用。 #### 第三章:声明和创建 Blocks 本章重点讲解如何声明和创建 Blocks。 ##### 3.1 声明一个 Block 的引用 为了使用 Block,...

Global site tag (gtag.js) - Google Analytics