
java多线程
Jlins
这个作者很懒,什么都没留下…
展开
-
ThreadLocal的使用及实现
在java中,如果一个变量需要被多个线程访问,可以使用volatile来声明它为“易变的”。而假如一个变量要被持有它的某个线程独享,在java中,它可以使用java.lang.ThreadLocal类来实现线程本地存储的功能。这样,数据便只在同一个线程内可见和共享,因此,即便不同步也能保证线程之间不出现数据争用。ThreadLocal使得各线程能够保持各自独立的一个对象,通过ThreadLocal转载 2013-02-28 12:41:54 · 1347 阅读 · 0 评论 -
Java复习_多线程
1.java.lang.Thread线程,一个程序内部的顺序控制流(JVM启动时有一个由主方法main所定义的线程)1)通过创建Thread实例来创建新的线程;2)每个线程通过某个特定Thread对象所对应的run()(成为线程题)来完成操作;3)通过调用Thread类的start()来启动线程 2.与进程的区别?1)每个进程有独立的代码和数据空间,进程间切换需要较大的开销;2)线程可以看成轻量级转载 2013-02-28 04:38:55 · 1117 阅读 · 0 评论 -
java线程池
java5之后为我们提供了线程池,只需要使用API,不用去考虑线程池里特殊的处理机制。Java5的线程池分好多种:固定尺寸的线程池、可变尺寸连接池等。常用的是ThreadPoolExecutor,它的继承关系如下: 这编博客对线程池的使用做好详细的解说:http://lavasoft.blog.51cto.com/62575/222078 下面详细说明一下自定义线程的使用:TreadPoolEx转载 2013-02-28 12:38:14 · 1188 阅读 · 0 评论 -
多线程设计模式之——Balking Pattern
Balking Pattern 与 Guarded Suspension Pattern 都需要警戒条件,只不过Balking Pattern中,当警戒条件不成立时,不进行wait,直接中断。 Balking Pattern的适用性: 1.不需要刻意执行的时候,balk可以提高性能 2.不想等待警戒条件成立的时候 3.警戒条件只需第一次成立的时候,例如初始化操作 例子:仅类似“自动保存功能”,通过转载 2013-02-28 12:37:19 · 2534 阅读 · 0 评论 -
多线程设计模式之——Producer-Consumer Pattern
此模式是在生产者与消费者之间加入一个“桥梁参与者”来缓冲线程之间的处理速度差。一般可以存在多个生产者与消费者,但当双方都只有一个的时候,又称为Pipe Pattern。 例子:假设有2个生产者,2个消费者,仓库里只能放4个产品。(这里的产品就是String类型的名字而已) Java代码 //Storage.java public class Storage { private Str转载 2013-02-28 12:36:19 · 1379 阅读 · 0 评论 -
Java多线程
多线程 一、 进程: 进程是程序的一次动态执行过程,经历从代码加载、代码执行到执行完毕的一个完整过程。一个应用程序就是一个进程。多进程操作系统能同时运行多个进程(程序),由于CPU具备分时机制,所以每个进程都能循环获得自己的CPU时间片。 线程: 每个Java程序都至少有一个线程——主线程。当一个Java程序启动时,JVM会创建主线程,并且在该线程中调用程序的main()方法。 1、单线程: 之前转载 2013-02-28 12:39:48 · 1444 阅读 · 1 评论