java多线程
文章平均质量分 85
qingfeng_825
这个作者很懒,什么都没留下…
展开
-
java的volatile是什么意思
我们知道,在Java中设置变量值的操作,除了long和double类型的变量外都是原子操作,也就是说,对于变量值的简单读写操作没有必要进行同步。 这在JVM 1.2之前,Java的内存模型实现总是从主存读取变量,是不需要进行特别的注意的。而随着JVM的成熟和优化,现在在多线程环境下volatile关键字的使用变得非常重要。 在当前的Java内存模型下,线程可以把变量保存在本地内存(...2008-01-02 10:38:31 · 177 阅读 · 0 评论 -
concurrent: Callable用法
转载自: http://auguslee.iteye.com/blog/1292335Callable 和 Runnable 的使用方法大同小异, 区别在于: 1.Callable 使用 call() 方法, Runnable 使用 run() 方法 2.call() 可以返回值, 而 run()方法不能返回。 3.call() 可以抛出受检查的异常,比如ClassNotFoundExcept...原创 2012-09-03 14:23:04 · 193 阅读 · 0 评论 -
concurrent: ThreadPoolExecutor 用法
thread pool一般被用来解决两个问题:当处理大量的同步task的时候,它能够避免thread不断创建销毁的开销;而另外一个也许更重要的含义是,它其实表示了一个boundary,通过使用thread pool可以限制这些任务所消耗的资源,比如最大线程数,比如最大的消息缓冲池。 需要指出的是,ThreadPoolExecutor不仅仅是简单的多个thread的集合,它还带有一个...原创 2012-09-03 15:19:39 · 173 阅读 · 0 评论 -
concurrent: wai notify notifyAll
转载自:http://sishuok.com/forum/blogPost/list/3674.html 通常,多线程之间需要协调工作。例如,浏览器的一个显示图片的线程displayThread想要执行显示图片的任务,必须等待下载线程 downloadThread将该图片下载完毕。如果图片还没有下载完,displayThread可以暂停,当downloadThread完成了任务 后,再通...原创 2013-01-09 10:16:47 · 105 阅读 · 0 评论 -
java调度:(三)Timer中的单线程守护
早听说Timer中是单守护进程在执行所有的任务,在调度的时候会有一些问题,现做下面例子来测试:首先做两个简单的任务:1. TimerJOB1package test;import java.util.Date;import java.util.TimerTask;public class TimerJOB1 extends TimerTask { publi...原创 2013-02-22 15:39:10 · 424 阅读 · 0 评论 -
java线程安全问题之静态变量、实例变量、局部变量
转载 java多线程编程中,存在很多线程安全问题,至于什么是线程安全呢,给出一个通俗易懂的概念还是蛮难的,如同《java并发编程实践》中所说:写道 给线程安全下定义比较困难。存在很多种定义,如:“一个类在可以被多个线程安全调用时就是线程安全的”。 此处不赘述了,首先给出静态变量、实例变量、局部变量在多线程环境下的线程安全问题结论,然后用示例验证,请大家擦亮眼睛,有...原创 2017-07-04 14:50:54 · 154 阅读 · 0 评论