摘要:
1、线程同步:package cn.itcast.heima2;import java.util.concurrent.locks.Lock;import java.util.concurrent.locks.ReentrantLock;public class LockTest { /** * @param args */ public static void main(String[] args) { new LockTest().init(); } private void init(){ final Outpu... 阅读全文
摘要:
原文:http://www.ibm.com/developerworks/cn/java/j-jtp10264/index.html多线程和并发性并不是什么新内容,但是 Java 语言设计中的创新之一就是,它是第一个直接把跨平台线程模型和正规的内存模型集成到语言中的主流语言。核心类库包含一个Thread类,可以用它来构建、启动和操纵线程,Java 语言包括了跨线程传达并发性约束的构造 ——synchronized和volatile。在简化与平台无关的并发类的开发的同时,它决没有使并发类的编写工作变得更繁琐,只是使它变得更容易了。synchronized 快速回顾把代码块声明为 synchron 阅读全文
摘要:
1.类Executors此类中提供的一些方法有:1.1 public static ExecutorService newCachedThreadPool()创建一个可根据需要创建新线程的线程池,但是在以前构造的线程可用时将重用它们。对于执行很多短期异步任务的程序而言,这些线程池通常可提高程序性能。1.2 public static ExecutorService newFixedThreadPool(intnThreads)创建一个可重用固定线程数的线程池,以共享的无界队列方式来运行这些线程。1.3 public static ExecutorService newSingleThreadE 阅读全文
摘要:
一、线程同步,主要应用synchronized关键字:public class TraditionalThreadSynchorinzed { public static void main(String[] args) { new TraditionalThreadSynchorinzed().init(); } private void init(){ final Outputer outputer = new Outputer(); new Thread(new Runnable(){ @Overr... 阅读全文
摘要:
1 getCurrentSession创建的session会和绑定到当前线程,而openSession每次创建新的session。2 getCurrentSession创建的线程会在事务回滚或事物提交后自动关闭,而openSession必须手动关闭这里getCurrentSession本地事务(本地事务:jdbc)时 要在配置文件里进行如下设置 * 如果使用的是本地事务(jdbc事务)thread* 如果使用的是全局事务(jta事务)jtagetCurrentSession () 在事务结束之前使用当前的sessionopenSession() 每次重新建立一个新的session在一个应用程序 阅读全文
摘要:
一、什么是ThreadLocal?顾名思义它是local variable(线程局部变量)。它的功用非常简单,就是为每一个使用该变量的线程都提供一个变量值的副本,是每一个线程都可以独立地改变自己的副本,而不会和其它线程的副本冲突。从线程的角度看,就好像每一个线程都完全拥有该变量。通过ThreadLocal存取的数据,总是与当前线程相关,也就是说,JVM 为每个运行的线程,绑定了私有的本地实例存取空间,从而为多线程环境常出现的并发访问问题提供了一种隔离机制。ThreadLocal是如何做到为每一个线程维护变量的副本的呢?其实实现的思路很简单,在ThreadLocal类中有一个Map,用于存储每一 阅读全文
摘要:
package test.java.io;import java.io.RandomAccessFile;public class RandomAccFile { public static void main(String[] args) throws Exception { Employee emp1=new Employee("zhangsan",280); Employee emp2=new Employee("李四",18); Employee emp3=new Employee("tom",22); ... 阅读全文