6 Lucas-

尚未进行身份认证

我要认证

Coding..........

等级
TA的排名 132w+

Java并发编程:Callable&Future

Java并发编程:Callable&Future在之前的线程中,执行完任务之后无法获取执行结果。如果需要获取执行结果,就必须通过共享变量或者使用线程通信的方式来达到效果,这样使用起来就比较麻烦。而自从Java 1.5开始,就提供了Callable和Future,通过它们可以在任务执行完毕之后得到任务执行结果。 用一个简单的例子说明用法:import java.u...

2015-05-24 15:31:56

Java并发编程:线程池

Java并发编程:线程池什么是线程池,当一个线执行完一个任务后就死亡了,如果程序并发的线程数量非常多,频繁的创建销毁线程会降低执行的效率。这样,可以创建一些线程,它们的集合称为线程池,当服务器接受到一个客户请求后,就从线程池中取出一个空闲的线程为之服务,服务完后不关闭该线程,而是将该线程还回到线程池中。 在线程池的编程模式下,任务是提交给整个线程池,而不是直接交给某个线程,线程...

2015-05-24 15:31:53

Java并发编程:阻塞队列

Java并发编程:阻塞队列   阻塞队列(BlockingQueue)是一个支持两个附加操作的队列。这两个附加的操作是:在队列为空时,获取元素的线程会等待队列变为非空。当队列满时,存储元素的线程会等待队列可用。阻塞队列常用于生产者和消费者的场景,生产者是往队列里添加元素的线程,消费者是从队列里拿元素的线程。阻塞队列就是生产者存放元素的容器,而消费者也只从容器里拿元素。 Java...

2015-05-24 15:31:40

Java并发编程:同步工具类

Java并发编程:同步工具类1.Semaphore类  一个计数信号量,通常用于限制可以访问某些资源(物理或逻辑的)的线程数目。功能和锁有点类似,它一般用于控制对某组资源的访问权限。          acquire()用来获取一个许可,若无许可能够获得,则会一直等待,直到获得许可。          release()用来释放许可。注意,在释放许可之前,必须先获获得许可。im...

2015-05-24 15:31:32

Java并发编程:并发容器之CopyOnWriteArrayList(转载)

原文链接:  http://ifeve.com/java-copy-on-write/    Copy-On-Write简称COW,是一种用于程序设计中的优化策略。其基本思路是,从一开始大家都在共享同一个内容,当某个人想要修改这个内容的时候,才会真正把内容Copy出去形成一个新的内容然后再改,这是一种延时懒惰策略。从JDK1.5开始Java并发包里提供了两个使用CopyOn

2015-05-23 14:34:14

Java并发编程:Lock

Java并发编程:Lock 一.Lock 实现提供了比使用 synchronized 方法和语句更灵活、更具可伸缩性的锁定机制,可以支持多个相关的 Condition 对象。  Lock&synchronized用途比较基本语法上,ReentrantLock与synchronized很相似,它们都具备一样的线程重入特性,只是代码写法上有点区别而已,一个表现为API层...

2015-05-23 13:43:22

Java并发编程:线程安全

 Java并发编程:线程安全 当多个线程需要同时访问同一个资源(成为临界资源)时,可能会对数据造成破坏。 例如:money += 1000;  当第一个线程取出money值,然后+1000完成这两步之后,第二个进程进入读取了count的值,又+1000 再赋值给count。 这时 第一个线程再进行第三步,把它的值赋给count,这就出现了混乱,没有达到预期的效果(两个线程只存进去了100...

2015-05-23 13:31:04

Java并发编程:线程的生命周期

 一.线程的生命周期:     1. New:新生     2. Runnable:可运行。 可能正在运行也可能没运行     3. Blocked:被阻塞并等待某个监视器锁的线程处于这种状态。     4. Waiting:无限期地等待另一个线程来执行某一特定操作的线程处于这种状态     5. Timed waiting:计时等待     6. Terminated...

2015-05-23 13:25:00

Java并发编程:如何创建线程

一.如何创建线程1.实现java.lang.Runnable 接口public interface Runnable{ public abstract void run();}  2.继承java.lang.Thread 类    源码:public class Thread extends Object implements Runnable{ ...

2015-05-23 13:15:59

Java并发编程:多线程介绍

进程和线程:进程是指一个内存中运行的应用程序,每个进程都有自己独立的一块内存空间。线程是轻量级的进程,每个CPU核心在同一时刻只能执行一个线程,线程是操作系统可识别的最小执行和调度单位在Java并发编程中 总结了以下知识点:        如何创建线程        线程的生命周期        线程安全:synchronized Lock        Calla...

2015-05-23 13:09:41

Java笔记 _ 集合

原文章地址:http://www.blogjava.net/changcheng/archive/2009/12/06/304940.html 一.为什么需要集合 当需要存储一组类型相同的元素时,我们需要一种容器来存储,通常用数组来保存。数组的缺点:    1.数组一旦定义,长度不能改变 (可以新建一个更大的数组用arrayCopy()方法拷贝,但是效率太低)   ...

2015-05-13 21:09:36

Java笔记 _ 泛型

泛型的本质:参数类型的应用。将所操作的数据类型定义为一个参数,并在应用的时候指定类型。1.为什么使用泛型     在JDK1.5之前,泛型程序设计是通过继承来实现的,例如:   List list = new ArrayList(); //当加入或取出元素时,都被当成Object类型来看待list.add(new Integer(10));list.add("10");   那...

2015-05-09 23:38:54
勋章 我的勋章
    暂无奖章