zoukankan      html  css  js  c++  java
  • 第一篇:多线程使用

    一、创建和启动线程简单说明

    一个NSThread对象就代表一条线程

    创建、启动线程

    (1) NSThread *thread = [[NSThread alloc] initWithTarget:self selector:@selector(run) object:nil];

    [thread start];

    // 线程一启动,就会在线程thread中执行self的run方法

     

    主线程相关用法

    + (NSThread *)mainThread; // 获得主线程

    - (BOOL)isMainThread; // 是否为主线程

    + (BOOL)isMainThread; // 是否为主线程

     

    其他用法

    获得当前线程

    NSThread *current = [NSThread currentThread];

     

    线程的调度优先级:调度优先级的取值范围是0.0 ~ 1.0,默认0.5,值越大,优先级越高

    + (double)threadPriority;

    + (BOOL)setThreadPriority:(double)p;

     

    设置线程的名字

    - (void)setName:(NSString *)n;

    - (NSString *)name;

     

    其他创建线程的方式

    (2)创建线程后自动启动线程   [NSThread detachNewThreadSelector:@selector(run) toTarget:self withObject:nil];

    (3)隐式创建并启动线程  [self performSelectorInBackground:@selector(run) withObject:nil];

    上述2种创建线程方式的优缺点

    优点:简单快捷

    缺点:无法对线程进行更详细的设置

     

     

     

     

    运行结果:

  • 相关阅读:
    MVC3+Spring.net+NHibernate+ExtJs的简单架构
    WCF初见之Salt+Hash加密
    演讲时经常用到的几个小工具介绍
    2asp.net mvc 4 in action
    Hadoop简介和实践分享
    PyMongo非关系型数据库mongodb入门
    网络资源定位(Url)的奥秘
    ApplicationPoolIdentity
    CustomBehavior 入门
    架构培训
  • 原文地址:https://www.cnblogs.com/jinchengvs/p/4833764.html
Copyright © 2011-2022 走看看