易截截图软件、单文件、免安装、纯绿色、仅160KB

Java线程:新特征 锁(上)

Java线程:新特征-锁(上)
 
在Java5中,专门提供了锁对象,利用锁可以方便的实现资源的封锁,用来控制对竞争资源并发访问的控制,这些内容主要集中在java.util.concurrent.locks 包下面,里面有三个重要的接口Condition、Lock、ReadWriteLock。
 
Condition
Condition 将 Object 监视器方法(wait、notify 和 notifyAll)分解成截然不同的对象,以便通过将这些对象与任意 Lock 实现组合使用,为每个对象提供多个等待 set (wait-set)。
Lock
Lock 实现提供了比使用 synchronized 方法和语句可获得的更广泛的锁定操作。
ReadWriteLock
ReadWriteLock 维护了一对相关的锁定,一个用于只读操作,另一个用于写入操作。
 
有关锁的介绍,API文档解说很多,看得很烦,还是看个例子再看文档比较容易理解。
 
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.concurrent.locks.Lock;
import java.util.concurrent.locks.ReentrantLock;
/**
* Java线程:锁
*
* @author leizhimin 2009-11-5 10:57:29
*/
public class Test {
        public static void main(String[] args) {
                //创建并发访问的账户
                MyCount myCount = new MyCount("95599200901215522", 10000);
                //创建一个锁对象
                Lock lock = new ReentrantLock();
                //创建一个线程池
                ExecutorService pool = Executors.newCachedThreadPool();
                //创建一些并发访问用户,一个信用卡,存的存,取的取,好热闹啊


相关文档:

使用eclipse运行曾经写过的java代码

今天把以前写的java代码拿出来,发现出了好多错误。调了半天,发现是版本的问题,郁闷!
可能之前我写代码的时候用的是JDK1.5,今天从网上下载JDK1.6,没成功。就草草下载了JDK1.5,结果总是提示“could not find the main class. program will exit”。我就到
window-》preference-》java-》compiler把当前的版 ......

关于Initializing java tooling(1%)

打开eclipse,发现eclipse宕掉了,并且出现这样的提示:关于Initializing java tooling(1%)...
重启了几次之后发现问题仍然存在,因而狂搜了一把,终于找到正确的解决办法,如下:
找到eclipse目录,编辑eclipse.ini文件,在-vmargs参数之前添加上如下参数(一定要像下面这样写成两行),然后重启就ok了
-vm
C:\Progr ......

Java线程:线程的同步与锁

Java线程:线程的同步与锁
 
 
 
一、同步问题提出
 
线程的同步是为了防止多个线程访问一个数据对象时,对数据造成的破坏。
例如:两个线程ThreadA、ThreadB都操作同一个对象Foo对象,并修改Foo对象上的数据。
 
public class Foo {
    private int x = 100;
......

Java线程:线程的交互

Java线程:线程的交互
 
SCJP5学习笔记
 
线程交互是比较复杂的问题,SCJP要求不很基础:给定一个场景,编写代码来恰当使用等待、通知和通知所有线程。
 
一、线程交互的基础知识
 
SCJP所要求的线程交互知识点需要从java.lang.Object的类的三个方法来学习:
 
 void notify()
......

Java线程:线程的调度 让步

Java线程:线程的调度-让步
 
线程的让步含义就是使当前运行着线程让出CPU资源,但是然给谁不知道,仅仅是让出,线程状态回到可运行状态。
 
线程的让步使用Thread.yield()方法,yield() 为静态方法,功能是暂停当前正在执行的线程对象,并执行其他线程。
 
/**
* Java线程:线程的调度-让步
*
......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号