
Java Thread
iteye_4921
这个作者很懒,什么都没留下…
展开
-
Java多线程 - (一) 最简单的线程安全问题
由于很多优秀的Java Web容器或者是J2EE容器的涌现,作为一个java web程序员,很少或者不需要去处理线程的问题,因为服务器或者是框架(如Spring,Struts)等都帮我们处理好了。但当我们查看JDK的API的时候,我们总会看到一些类写着:线程安全或者线程不安全。最简单的例子,比如说StringBuilder这个类中,有这么一句:“将StringBuilder的实例...2013-08-11 23:09:18 · 136 阅读 · 0 评论 -
Java多线程 - (二) 线程同步synchronized和volatile
一、可能带来死锁的Synchrionized 先用代码来展示下线程同步的问题:/** * */package com.wsheng.thread.synchronize;/** * @author Wang Sheng(Josh) * */public class ThreadSynchronized { public static...2013-08-13 13:42:23 · 138 阅读 · 0 评论 -
Java多线程 - (三) 线程间的通信(协作) - 生产者/消费者模式
上一篇讲述了线程的互斥(同步),但是在很多情况下,仅仅同步是不够的,还需要线程与线程协作(通信),生产者/消费者模式是一个经典的线程同步以及通信的模型。 假设有这样一种情况,有一个篮子,篮子里只能放一个鸡蛋,A线程专门往篮子里放鸡蛋,如果篮子里有鸡蛋,则一直等到篮子里没鸡蛋,B线程专门从篮子里取鸡蛋,如果篮子里没鸡蛋,则一直等到篮子里有鸡蛋。这里篮子是一个...2013-08-14 22:39:58 · 113 阅读 · 0 评论 -
Java Synchronized详解
java synchronized详解Java语言的关键字,当它用来修饰一个方法或者一个代码块的时候,能够保证在同一时刻最多只有一个线程执行该段代码。 一、当两个并发线程访问同一个对象object中的这个synchronized(this)同步代码块时,一个时间内只能有一个线程得到执行。另一个线程必须等待当前线程执行完这个代码块以后才能执行该代码块。 二、然而,当一...2014-01-24 17:20:04 · 94 阅读 · 0 评论 -
Java并发编程 - Executor,Executors,ExecutorService, CompletionServie,Future,Callable
一、Exectuor框架简介 Java从1.5版本开始,为简化多线程并发编程,引入全新的并发编程包:java.util.concurrent及其并发编程框架(Executor框架)。 Executor框架是指java 5中引入的一系列并发库中与executor相关的一些功能类,其中包括线程池,Executor,Executors,ExecutorService,Completi...2014-10-18 18:45:26 · 238 阅读 · 0 评论 -
Executors常用的创建ExecutorService的方法的简单说明
一、线程池的创建 我们可以通过ThreadPoolExecutor来创建一个线程池。ThreadPoolExecutor(int corePoolSize, int maximumPoolSize, long keepAliveTime, TimeUnit unit, BlockingQueue<Runnable> workQueue) 创建一个线程池需要...2015-05-04 21:44:35 · 646 阅读 · 0 评论 -
Java Synchorinzed注意事项
Thread中的join方法的作用就是使线程从异步执行变成同步执行。 1. 在使用synchronized块时应注意,synchronized块只能使用对象作为它的参数。如果是简单类型的变量(如int、char、boolean等),不能使用synchronized来同步。2、要想解决“脏数据”的问题,最简单的方法就是使用synchronized关键字来使run方法同步,代码如下:...2015-05-27 16:59:39 · 549 阅读 · 0 评论