
多线程
曾燕辉
高级开发、高级软件工程师
展开
-
对象的notify()和notifyAll()区别
wait()会让线程挂起,直到通知到它继续执行!挂起的线程会存放到等待队列中,按照wait的先后顺序存放。 notify()通知等待队列中的第一个线程,notifyAll()通知的是等待队列中的所有线程 举例: class Lock{ public synchronized void notifyOne(){ this.notify(); }原创 2017-06-26 00:37:27 · 1777 阅读 · 0 评论 -
wait()和线程的sleep()的区别
在Java.lang.Thread类中,提供了sleep(),而java.lang.Object类中提供了wait(), notify()和notifyAll()方法来操作线程 sleep()可以将一个线程睡眠,参数可以指定一个时间。 wait()可以将一个线程挂起,直到超时或者该线程被唤醒。 sleep和wait的区别有: 1)这两个方法来自不同的类分别是原创 2017-06-26 00:30:30 · 363 阅读 · 0 评论 -
java线程池线程回收
注意: 一定要将线程回收,否则程序会一直等待!! 也可以关闭线程池,来退出程序,但是这样会导致新的任务无法执行!! 线程回收之后,有新的任务到来就会自动新建线程。 class Task implements Runnable { private int x; //线程编号 public Task(int x) { this.x = x;原创 2017-06-26 00:22:50 · 26572 阅读 · 4 评论