一个小队去登山,每位队员登山的速度不同。山上有几个集合点,在每一集合点处,先到达的队员只有等后面的队员全部到达集合点后才能继续向下一个集合点出发。JDK1.5提供的CyclicBarrier模拟了这种情况。每一个线程相当于一个登山队员,CyclicBarrier相当于山上的集合点。只有等所有线程都执...
分类:
编程语言 时间:
2014-05-01 11:34:29
阅读次数:
388
JDK1.5提供了一个计数信号量Semaphore类。Semaphore
通常用于限制可以访问某些资源(物理或逻辑的)的线程数目,并提供了同步机制。Semaphore提供了两个构造器来创建对象:1)Semaphore(int
permits):创建具有给定的许可数和非公平的公平设置的Semaphor...
分类:
编程语言 时间:
2014-05-01 11:33:50
阅读次数:
431
不同于c++等语言的调用操作系统的线程调控机制来实现多线程,java语言内置了多线程的api包,因此可以更加方便的使用多线程技术。(1)线程的问题。进程是程序的一次动态执行过程,它对应了从代码加载、执行至执行完毕的一个完整过程,这个过程也是进程本身从产生、发展至消亡的过程。线程是比进程更小的单位,一...
分类:
编程语言 时间:
2014-04-29 22:09:12
阅读次数:
689
转自:线程间通信、等待唤醒机制、生产者消费者问题(Lock,Condition)、停止线程和守护线程、线程优先级1线程间通信1.1线程间通信其实就是多个线程在操作同一个资源,但是操作的动作不同。比如一个线程给一个变量赋值,而另一个线程打印这个变量。1.2等待唤醒机制wait():将线程等待,释放了C...
分类:
编程语言 时间:
2014-04-29 17:12:45
阅读次数:
527
多并发的时候,在什么情况下必须加锁?如果不加锁会产生什么样的后果。加锁的场景跟java的new
thread和Runnable的关系是什么?看看java的concurrentMap源码。还有spring 的web.xml启动执行源码
分类:
编程语言 时间:
2014-04-28 03:16:05
阅读次数:
537
1、JAVA多线程简单示例 1.1 、Thread 集成接口Runnable 1.2
、线程状态,可以通过 Thread.getState()获取线程状态: New (新创建) Runnable (可以运行) Blocked (被阻塞)
Waiting (等待) Tim...
分类:
编程语言 时间:
2014-04-27 21:22:25
阅读次数:
813