
线程
phantomes
这个作者很懒,什么都没留下…
展开
-
多线程实现大批量数据导入
【简述】 最近在做大批量数据导入问题,当数据量很大的时候(例如:20万条),程序在执行的时候,需要花很长的时间,为了提高程序的执行效率,现采用多线程的方法实现数据导入功能,具体实现如下: 【实现】 package com.mypack.thread; public class Student { private St...原创 2013-04-22 10:23:44 · 495 阅读 · 0 评论 -
java中queue的使用
Queue接口与List、Set同一级别,都是继承了Collection接口。LinkedList实现了Queue接 口。Queue接口窄化了对LinkedList的方法的访问权限(即在方法中的参数类型如果是Queue时,就完全只能访问Queue接口所定义的方法 了,而不能直接访问 LinkedList的非Queue的方法),以使得只有恰当的方法才可以使用。BlockingQueue 继承了...原创 2013-07-23 10:45:13 · 159 阅读 · 0 评论 -
java中关键字volatile的作用
用在多线程,同步变量。 线程为了提高效率,将某成员变量(如A)拷贝了一份(如B),线程中对A的访问其实访问的是B。只在某些动作时才进行A和B的同步。因此存在A和B不一致 的情况。volatile就是用来避免这种情况的。volatile告诉jvm, 它所修饰的变量不保留拷贝,直接访问主内存中的(也就是上面说的A) =========================分割线1============...原创 2013-04-26 09:26:50 · 122 阅读 · 0 评论 -
Thread和Runnable的区别
使用多线程时,大家大抵都有过疑惑,到底是继承Thread呢,还是实现Runnable接口,我也有过这样的疑惑,于是便上网搜了下,这边就记下我自己的见解,欢迎指正批评。 一般使用中,很多有经验的老程序员大部分都是不约而同的使用Runnable多一些,为什么呢,我也问过公司的那些老员工,他们也说不出个所以然,只是使用经验让他们去这样...2013-04-25 10:09:58 · 122 阅读 · 0 评论 -
三个线程循环切换
package com.thread; import java.util.concurrent.locks.Condition; import java.util.concurrent.locks.Lock; import java.util.concurrent.locks.ReentrantLock; public class ThreadTest3 { public s...2013-04-23 15:49:36 · 121 阅读 · 0 评论 -
多线程阻塞队列缓冲池
class BoundedBuffer { final Lock lock = new ReentrantLock(); final Condition notFull = lock.newCondition(); final Condition notEmpty = lock.newCondition(); final Object[] items...2013-04-23 15:07:57 · 134 阅读 · 0 评论 -
读写锁实现模拟缓存池
class CachedData { Object data; volatile boolean cacheValid; ReentrantReadWriteLock rwl = new ReentrantReadWriteLock(); void processCachedData() { rwl.readLock().lock(); ...2013-04-23 14:31:07 · 172 阅读 · 0 评论 -
4线程两加两减
package com.thread; /** * 设计4个线程,其中两个线程对j加1,另外两个对j减1 * * */ public class ThreadTest2 { //外部内成员变量j,共享于两个内部类 private int j; public static void main(String[] args) { /** ...2013-04-23 10:29:23 · 111 阅读 · 0 评论 -
两个线程循环切换
package com.thread; /** * 创建两个线程,一个线程循环10次,另一个线程100次,两者交替运行50次 * 即到A线程时,它运行本身循环的10次之后;马上轮到B线程,它则运行本身的100次循环 * 以此轮换切换线程共50次 */ public class ThreadTest { public static void main(String[]...原创 2013-04-22 16:19:16 · 198 阅读 · 0 评论 -
Java四种线程池的使用
Java通过Executors提供四种线程池,分别为:newCachedThreadPool创建一个可缓存线程池,如果线程池长度超过处理需要,可灵活回收空闲线程,若无可回收,则新建线程。newFixedThreadPool 创建一个定长线程池,可控制线程最大并发数,超出的线程会在队列中等待。newScheduledThreadPool 创建一个定长线程池,支持定时及周期性任务执行。newS...原创 2014-02-20 17:58:20 · 128 阅读 · 0 评论