Java
文章平均质量分 57
莫然
梦想还是要有的,万一实现了呢
展开
-
java中的线程协调与线程间的数据交换
Java中提供多种方式协调线程的工作。 CountDownLatch:当多个也就是具体的数量等于CountDownLatch初始化参数的时候。线程达到了预期状态或者完成了预期工作时触发事件,其他线程可以等待这个事件来触发自己的后续工作。等待的线程是多个。达到了预期状态的线程会调用CountDownLatch的countDown方法。等待的线程会调用CountDownLatch的await方法。原创 2015-03-04 19:36:52 · 3961 阅读 · 0 评论 -
微信红包算法
2015年玩得最疯狂的应该是微信红包,在家无聊也抢了不少。闲来无事,顺便写了红包的随机算法,其实挺简单的 public class WxAlgorithm{ /** * @param moneySum 输入总金额 * @param redNum 输入红包数量 */ private static void wxAlgorithm(double moneySum, int redN原创 2015-03-04 17:22:43 · 11905 阅读 · 3 评论 -
java线程池介绍与使用
在同等数量级的操作下,使用线程池的效率要远远高于单线程。线程池可以降低创建线程带来的开销。而线程池中的线程结束后进行的是回收操作而不真的将线程销毁。而在这个过程过,线程池带来的内存消耗肯定会大于单线程。在使用线程池的时候要慎重这个问题。下面进行两个方法,分别来测试下。 import java.util.LinkedList; import java.util.List; import java.原创 2015-03-04 19:20:30 · 1634 阅读 · 0 评论 -
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 · 1416 阅读 · 0 评论 -
java中的ReentrantLock
ReentrantLock是JDK5加入的新类,它的用法和synchronized类似。比过它需要程序员手动添加加锁和解锁的代码。 比起synchronized的好处。它添加了两个方法: l 提供了tryLock(),该方法调用的时候。如果锁被另一个对象持有,它会返回false。 l 还一个就是公平锁。在构造ReentrantLock的时候。它拥有一个人boolean类型的参数。该参数就原创 2015-03-04 19:31:26 · 2023 阅读 · 0 评论 -
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 · 1359 阅读 · 0 评论 -
解决高并发架构一些技术套路杂谈
http://download.csdn.net/detail/huwenfeng_2011/9589770原创 2016-07-29 15:08:04 · 1200 阅读 · 0 评论