---------------【多线程】
宁静_致远76
这个作者很懒,什么都没留下…
展开
-
java多线程(二)可阻塞队列BlockingQueue
先看一个程序题目:一个程序产生16个日志对象,并且需要运行16秒才能打印完这些日志,请在程序中增加4个线程去调用parseLog方法来分头打印这16个日志对象,只需要在4秒内打印完这些日志对象。 利用阻塞队列的ArrayBlockingQueue来实现如下 public static void main(String[] args) { final Block原创 2016-06-21 15:32:23 · 799 阅读 · 3 评论 -
Java多线程(一)基本用法
1、概念及优点 进程:进程(Process)是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,是操作系统结构的基础。在当代面向线程设计的计算机结构中,进程是线程的容器。 我们在Windows任务管理器的进程中看到的exe程序,这就是我们所说的进程。如QQ; 线程:可以理解为进程中独立运行的子任务。比如QQ.ex原创 2016-06-20 19:20:34 · 491 阅读 · 4 评论 -
java多线程(三)-同步工具Semaphore
Semaphore也是一个线程同步的辅助类,可以维护当前访问自身的线程个数,并提供了同步机制。使用Semaphore可以控制同时访问资源的线程个数,例如,实现一个文件允许的并发访问数。Semaphore的主要方法摘要: void acquire():从此信号量获取一个许可,在提供一个许可前一直将线程阻塞,否则线程被中断。 void release():释放一个许可,将其返回给信号量原创 2016-06-21 16:34:12 · 765 阅读 · 4 评论 -
java多线程(四)关键字volatile
关键字volatile的主要作用是使变量在多线程间可见。 解决异步死循环 如下代码 public class RunThread extends Thread { //volatile private boolean isRunning=true; private boolean isRunning=true; public boolean原创 2016-06-22 21:18:06 · 1462 阅读 · 3 评论