上一页 1 ··· 4 5 6 7 8 9 下一页
摘要: 概要:new Thread 并不意味着已经创建了一个线程,只能说明创建一个类的对象实例而已。而真正创建线程的是start()方法,此方法将调用本地方法start0()创建本地线程,而Thread的run()方法其实是作为一个回调函数被JVM创建的线程所调用。 构造方法与线程创建有关吗,它做了什么? 阅读全文
posted @ 2018-09-06 14:40 猫毛·波拿巴 阅读(1680) 评论(0) 推荐(0) 编辑
摘要: 系列目录: 揭开Future的神秘面纱——任务取消 揭开Future的神秘面纱——任务执行 揭开Future的神秘面纱——结果获取 使用案例 在之前写过的一篇随笔中已经提到了Future的应用场景和特性。(ExecutorService——<T> Future<T> submit(Callable< 阅读全文
posted @ 2018-09-04 11:28 猫毛·波拿巴 阅读(2058) 评论(0) 推荐(0) 编辑
摘要: 何为阻塞队列,其与普通队列有何差别? 总的来说,就是能够在适当的时候阻塞"存"和"取"两个操作,以达到控制任务流程的效果。阻塞队列提供了可阻塞的put和take方法。如果队列已经满了,那么put方法将阻塞直到有空间可用;如果队列为空,那么take方法将会阻塞直到有元素可用。 阻塞队列接口及实现来自于 阅读全文
posted @ 2018-09-03 11:46 猫毛·波拿巴 阅读(596) 评论(0) 推荐(0) 编辑
摘要: 接口长什么样? Future future = executor.submit(task); 这个返回值是什么意思? 提交任务后,会立即返回一个Future对象,它是一个句柄,你可以根据这个Future对象跟踪任务的执行情况。 Future对象具体有哪些功能呢? 1.可以随时查看任务的完成情况 => 阅读全文
posted @ 2018-08-15 21:54 猫毛·波拿巴 阅读(1185) 评论(0) 推荐(0) 编辑
摘要: ExecutorService接口继承于Executor接口,主要提供以下额外功能: 管理终结 产生Future对象,用于跟踪一个或多个任务的进度。 ExecutorService可以被shut down。这个操作,将导致它拒绝接受新的任务。它提供了两个关闭EexecutorService的方法。 阅读全文
posted @ 2018-08-15 21:39 猫毛·波拿巴 阅读(265) 评论(0) 推荐(0) 编辑
摘要: Executor是一个接口,这个接口负责执行提交给它的任务(Runnable对象)。这个接口能够使“任务提交”与“任务执行”解耦。即某人只要把任务提交给Executor就好了,至于它怎么给任务分配线程去执行,你就不用管了。 注: ①任务执行包括线程的如何使用,如何调度等等。 ②一般情况下,会选择使用 阅读全文
posted @ 2018-08-15 21:23 猫毛·波拿巴 阅读(546) 评论(0) 推荐(0) 编辑
摘要: Java SE5的java.util.concurrent类库还包含有定义在java.util.concurrent.locks中的显式的互斥机制。Lock对象必须被显式地创建、锁定和释放。因此,它与内建的锁形式相比,代码缺乏优雅性。但是,对于解决某些类型的问题来说,它更加灵活。 MutexEven 阅读全文
posted @ 2018-08-15 21:03 猫毛·波拿巴 阅读(471) 评论(0) 推荐(0) 编辑
摘要: 前要:一般的执行器会为每个任务单独创建线程,起码是分配单独的线程,即每个任务有其自己的线程。这样可以让任务并发执行。 问题:既然这样,为什么只用一个线程处理多个任务呢? 如果是这样,那一个线程某一时刻只处理一个任务。这样有什么好处呢?我们有讲到过,线程难就难在协调不同线程驱动的任务之间对内存和IO资 阅读全文
posted @ 2018-08-15 20:54 猫毛·波拿巴 阅读(2763) 评论(2) 推荐(0) 编辑
摘要: 概念 所谓后台线程,是指在程序运行的时候在后台提供一种通用服务的线程,并且这种线程并不属于程序中不可或缺的部分。因此,当所有的非后台线程结束时,程序也就终止了,同时会杀死进程中的所有后台线程。反过来说,只要有任何非后台线程还在运行,程序就不会终止。比如,执行main()的就是一个非后台线程。——《J 阅读全文
posted @ 2018-08-15 20:47 猫毛·波拿巴 阅读(988) 评论(0) 推荐(1) 编辑
摘要: 一个线程X可以在其他线程Y之上调用join()方法,其效果是X等待一段时间直到第二个线程Y结束才继续执行。如果某个线程在另一个线程t上调用t.join(),此线程将被挂起,直到目标线程t结束才恢复。 也可以在调用join()时带上一个超时参数(单位可以是毫秒,或者毫秒和纳秒),这样如果目标线程在这段 阅读全文
posted @ 2018-08-15 20:44 猫毛·波拿巴 阅读(314) 评论(0) 推荐(0) 编辑
上一页 1 ··· 4 5 6 7 8 9 下一页
点击右上角即可分享
微信分享提示