线程开发中常遇到"PO"级别的"Bug"

    // 创建线程
    NSThread *thread = [[NSThread alloc] initWithTarget:self selector:@selector(run) object:nil];
    // 启动线程
    [thread start];

    线程池:存放线程的池子! 分为:

    可调度线程池: CPU 只会调度可调度线程池中的线程! 下面蓝色状态都位于可调度线程池中! '就绪' ,'运行'!

    不可调度线程池: 下面红色状态都位于不可调度线程池中! "新建" ,"阻塞" ,"死亡"!

    线程状态:

                 start            CPU调度当前线程           运行结束/强制退出(exit)
        "新建" ---------->'就绪' -----------------> '运行' -----------------------> "死亡";

                CPU 调度其他线程           CPU调度当前线程
        '运行' ------------------> '就绪'-----------------> '运行'

                调用 sleep/等待互斥锁            sleep时间到/得到互斥锁
        '运行' -----------------------> "阻塞"-----------------------> '就绪';

    线程运行结束或者强制退出(exit)就进入 "死亡" 状态;
    
    "注意:一旦线程停止(死亡),就不可以再次开启任务!程序会挂掉: Crash!
    
    平时开发中,要特别关注 Crash! :"PO"级别的 "Bug";

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值