美文网首页
8.3 线程控制

8.3 线程控制

作者: jadefly | 来源:发表于2018-01-03 17:48 被阅读0次

线程中断

方法:void interrupt():中断线程(本质没有中断操作,只是给线程对象加了个标记,设置其中断状态为true);

                                     (不能中断正在运行过程中的线程,只能中断阻塞过程中的线程)

           static boolean interrupted(): 返回当前线程是否已经中断;

           boolean isInterrupted(): 返回线程是否已经中断;

线程中断

线程让步

作用:用于正在执行的线程,在某些情况下让出CPU资源,让给其它线程执行;

            (如果持有同步锁,并不会释放同步锁资源)

方法:static void yield():暂停当前正在执行的线程对象,并执行其他线程

线程让步

线程睡眠

方法:static void sleep(long millis):让当前正在执行的线程休眠(暂停执行)指定的毫秒数;

           static void sleep(long millis, int nanos):线程休眠 毫秒数+纳秒数;

线程休眠

线程合并

作用:所谓合并,就是等待其它线程执行完,再执行当前线程,执行起来的效果就好像把其它线程合并到当前线程执行一样;

            (优先执行调用join方法的线程,最后执行当前线程)

方法:void join():等待该线程终止;

           void join(long millis):等待该线程终止的时间最长为 millis 毫秒;

           void join(long millis, int nanos):等待该线程终止的时间最长为 millis 毫秒 + nanos 纳秒;

线程合并

sleep和wait方法区别

sleep:1.Thread的方法

             2.让出CPU,时间到了再回到该线程继续执行,不会释放同步锁资源

             3.任何地方使用

wait:1.Object的方法

          2.释放同步锁资源,进入等待队列,需要notify唤醒(唤醒后只是得到竞争同步锁的资格)  

          3.只能在同步方法或同步块中使用(因为要释放同步资源锁)


相关文章

  • 8.3 线程控制

    线程中断 方法:void interrupt():中断线程(本质没有中断操作,只是给线程对象加了个标记,设置其中断...

  • Swift GCD线程

    队列 线程组合 线程控制

  • OC GCD线程

    队列 线程组合 线程控制

  • GCD控制线程数量

    1.GCD控制线程数量 2.GCD控制线程数量+线程任务结束通知处理

  • Java多线程 -- 05 线程通信

    导读目录: 传统的线程通信 使用Condition控制线程通信 使用阻塞队列(BlockingQueue)控制线程...

  • 线程的创建和控制

    线程的创建和控制 进程和线程的关系:进程提供资源,线程使用资源完成工作 创建线程函数 线程的控制 更多的API 创...

  • 03_jmeter_控制器

    简介: 简单控制器、if控制器、一次控制器,循环控制器、线程组中配置执行次数、聚合报告 浅谈线程组 ① 线程数:...

  • NSOperation 相关函数

    ** NSInvocationOperation** ** NSBlockOperation** 线程依赖 线程并发控制

  • 线程池的使用以及实现原理

    线程池优点 限流控制线程总数,根据硬件人为控制使性能达到最优 复用减少线程的频繁创建和销毁复用线程 效率因为线程可...

  • Java多线程

    Java多线程 1. 进程与线程 线程:程序中单独的控制流线程本身依靠程序进行运行线程是程序中的顺序控制流,只能使...

网友评论

      本文标题:8.3 线程控制

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