
多线程
zengshaotao
大道至简,未来可期
展开
-
多线程之 Semaphore
package function.thread; import java.util.concurrent.Semaphore; public class TestSemaphore { public static void main(String args[]){//这里的信号量大于等待执行线程个数时,线程就会并发执行而不是同步//因为线程release后,剩余的...2017-05-01 11:40:18 · 189 阅读 · 0 评论 -
生产者消费者进阶(带有condition)
package function.thread; import java.util.ArrayList;import java.util.Arrays;import java.util.List;import java.util.Random;import java.util.concurrent.locks.Condition;import java.util.c...2017-05-09 17:56:56 · 137 阅读 · 0 评论 -
lock 读写锁
package function.thread; import java.util.Random;import java.util.concurrent.locks.ReadWriteLock;import java.util.concurrent.locks.ReentrantReadWriteLock; public class LockTest { pub...2017-05-09 11:29:20 · 184 阅读 · 0 评论 -
多个生产者多个消费者
package function.thread; import java.util.Vector; public class MultiProConsumTest {public static void main(String args[]) {Vector obj = new Vector();Thread consumer1 = new Thread(new Mu...2017-05-05 11:11:43 · 437 阅读 · 0 评论 -
多线程之 wait notify notifyall
/*** 转载请注明作者longdick http://longdick.iteye.com**/ wait()、notify()、notifyAll()是三个定义在Object类里的方法,可以用来控制线程的状态。这三个方法最终调用的都是jvm级的native方法。随着jvm运行平台的不同可能有些许差异。 如果对象调用了wait方法就会使持有该对象的线程...原创 2017-05-03 09:57:13 · 86 阅读 · 0 评论 -
多线程同步之 锁对象 的理解
package function.thread; class ThreadDemo1 implements Runnable { public void run() {// 为了更清楚地看到不正确的结果,这里放一个大的循环String ThreadName = Thread.currentThread().getName();if (ThreadName.equals...2017-05-03 09:16:44 · 275 阅读 · 0 评论 -
多线程之 对象锁的理解
package function.thread; class AA{ }class ThreadDemo extends Thread {// 共享一个静态数据成员private static String a = "" ; ThreadDemo() {} ThreadDemo(String szName) {super(szName);...2017-05-02 14:15:45 · 214 阅读 · 0 评论 -
多线程之 CyclicBarrier
package function.thread; import java.util.concurrent.BrokenBarrierException; import java.util.concurrent.CyclicBarrier; import java.util.concurrent.ExecutorService; import java.util.conc...2017-05-01 20:40:18 · 130 阅读 · 0 评论 -
多线程之 CountDownLatch
package function.thread; import java.util.concurrent.CountDownLatch; /** * 示例:CountDownLatch的使用举例 * CountDownLatch是一个功能强大且易于使用的对象,主要适用于 * 当前线程必须等待一个或多个事件发生的时候 */ public class Tes...2017-05-01 13:01:04 · 111 阅读 · 0 评论 -
守护线程
对于线程,有个守护的线程的概念。如何理解呢?比如A线程里,new 出了线程B,如果A不是守护线程,那么A结束后,B依然可以执行。如果是守护线程,当A结束后,B不再执行 package thread; public class ChildParentThread { public static void main(String args[]){ Thread t =...2017-11-13 16:40:32 · 114 阅读 · 0 评论