- 博客(6)
- 资源 (8)
- 收藏
- 关注
原创 java中的线程协调与线程间的数据交换
Java中提供多种方式协调线程的工作。 CountDownLatch:当多个也就是具体的数量等于CountDownLatch初始化参数的时候。线程达到了预期状态或者完成了预期工作时触发事件,其他线程可以等待这个事件来触发自己的后续工作。等待的线程是多个。达到了预期状态的线程会调用CountDownLatch的countDown方法。等待的线程会调用CountDownLatch的await方法。
2015-03-04 19:36:52 3931
原创 java中的Volatile与Atomics
Volatile Volatile保证在变量在多线程的可见性。用于修饰变量。 代码如下: public class VolatileDemo1 { volatile int a; public int getA() { return a; } public void setA(int a) { this.a = a; } public void testA1(f
2015-03-04 19:34:09 1351
原创 java中的ReentrantLock
ReentrantLock是JDK5加入的新类,它的用法和synchronized类似。比过它需要程序员手动添加加锁和解锁的代码。 比起synchronized的好处。它添加了两个方法: l 提供了tryLock(),该方法调用的时候。如果锁被另一个对象持有,它会返回false。 l 还一个就是公平锁。在构造ReentrantLock的时候。它拥有一个人boolean类型的参数。该参数就
2015-03-04 19:31:26 1987
原创 java中的synchronized
1、synchronized为互斥。该关键词可以申明方法也可以申明代码库。 import java.util.concurrent.TimeUnit; public class SynchronizedDemo1 { public synchronized static void synchronizedDemo(){ try { TimeUnit.SECONDS.s
2015-03-04 19:26:36 1388
原创 java线程池介绍与使用
在同等数量级的操作下,使用线程池的效率要远远高于单线程。线程池可以降低创建线程带来的开销。而线程池中的线程结束后进行的是回收操作而不真的将线程销毁。而在这个过程过,线程池带来的内存消耗肯定会大于单线程。在使用线程池的时候要慎重这个问题。下面进行两个方法,分别来测试下。 import java.util.LinkedList; import java.util.List; import java.
2015-03-04 19:20:30 1610
原创 微信红包算法
2015年玩得最疯狂的应该是微信红包,在家无聊也抢了不少。闲来无事,顺便写了红包的随机算法,其实挺简单的 public class WxAlgorithm{ /** * @param moneySum 输入总金额 * @param redNum 输入红包数量 */ private static void wxAlgorithm(double moneySum, int redN
2015-03-04 17:22:43 11837 3
高并发架构一些技术套路杂谈
2016-08-01
高并发架构一些套路杂谈
2016-07-29
Spark源码解读迷你书
2015-01-31
基于SSH的真实项目—投递管理系统
2012-05-04
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人