美文网首页
(四)iOS开发之多线程—NSThread

(四)iOS开发之多线程—NSThread

作者: 笃Boy | 来源:发表于2017-10-18 20:40 被阅读1次

    一、什么是NSThread

    NSThread是基于线程使用,轻量级的多线程编程方法(相对GCD和NSOperation),一个NSThread对象代表一个线程,需要手动管理线程的生命周期,处理线程同步等问题。

    二.创建和启动线程

    1.对象创建,一个NSThreadc对象就代表一条线程。

    2.创建,启动线程:

    NSThread*thread = [[NSThreadalloc]initWithTarget:selfselector:@selector(run)object:nil];

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

    [threadstart];

    3.主线程相关用法

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

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

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

    4.获得当前线程

    NSThread*current = [NSThreadcurrentThread];

    5.线程名字设置

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

    - (NSString*)name;

    三.其他创建线程方式

    1.创建线程后自动启动线程

    [NSThreaddetachNewThreadSelector:@selector(run)toTarget:selfwithObject:nil];

    2.隐式创建并启动线程

    [selfperformSelectorInBackground:@selector(run)withObject:nil];

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

    优点:简单快捷

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

    Dome:

    https://github.com/tangbinbinM/NSThreadCode.git

    相关文章

      网友评论

          本文标题:(四)iOS开发之多线程—NSThread

          本文链接:https://www.haomeiwen.com/subject/hmeeuxtx.html