多线程对比linkedList和arrayList的add方法
来源:互联网 发布:linux更换网卡 编辑:程序博客网 时间:2024/05/29 10:04
上上一篇对linkedList和arrayList的源码对比:http://blog.csdn.net/aaashen/article/details/44925181
上一篇对linkedList和arrayList的各种方法进行单线程的对比:http://blog.csdn.net/aaashen/article/details/45011365
本篇用多线程对比,之对比add方法,插10000000条数据。
其中arrayList add 数据花费11615,linkedlist add数据花费4395。
import java.util.ArrayList;import java.util.LinkedList;/** * Created by aaashen on 2015/4/8. */public class list_Runnable implements Runnable{ private ArrayList alist = new ArrayList<Integer>(); private LinkedList llist = new LinkedList<Integer>(); public int n = 10000000; //同步 private void addAlist() { while(n>0){ synchronized(alist){ alist.add(n); n--; }// System.out.println(Thread.currentThread().getName()+" of "+Thread.currentThread().getThreadGroup().getName()+"add"+n); } } private void addLlist() { while(n>0){ synchronized(llist){ llist.add(n); n--; }// System.out.println(Thread.currentThread().getName()+" of "+Thread.currentThread().getThreadGroup().getName()+"add"+n); } } @Override public void run() { addAlist();// addLlist(); } public static void main(String args[]){ long costTime = 0; long startTime = 0; long endTime = 0; //创建一个线程组group,加入3个线程,分别为每一个线程命名 list_Runnable ar= new list_Runnable(); ThreadGroup theGroup=new ThreadGroup("group1"); Thread thread0 = new Thread(theGroup,ar,"thread0"); Thread thread1 = new Thread(theGroup,ar,"thread1"); Thread thread2 = new Thread(theGroup,ar,"thread2"); //开始计时 startTime = System.currentTimeMillis(); thread0.start(); thread1.start(); thread2.start(); while(true){// System.out.println("theGroup.activeCount number: "+theGroup.activeCount()); if(theGroup.activeCount()==0){ endTime = System.currentTimeMillis();//结束计时 break; } } System.out.println("共耗时"+(endTime-startTime)); } }
0 0
- 多线程对比linkedList和arrayList的add方法
- ArrayList和LinkedList的对比
- ArrayList和LinkedList add和remove方法的比较
- ArrayList和LinkedList add的源码分析
- ArrayList和LinkedList对比
- Java的ArrayList和LinkedList的对比
- ArrayList,LinkedList的对比
- ArrayList和LinkedList的操作性能对比
- ArrayList和LinkedList的操作性能对比
- ArrayList和LinkedList的操作性能对比
- java LinkedList 和 ArrayList 对比
- LinkedList和ArrayList源码对比
- ArrayList和LinkedList对比解析
- ArrayList和LinkedList性能对比测试
- ArrayList和LinkedList增删数据对比
- ArrayList的add和remove方法
- ArrayList LinkedList Vector 对比
- ArrayList、LinkedList、Vector 对比
- UITabBar 和 UINavigationBar 样式的定制
- zoj 3869 Ace of Aces
- 我来说说操作系统中 死锁与饥饿的区别辨析
- 转载:2014 Top Security Tools as Voted by ToolsWatch.org Readers
- 作业1
- 多线程对比linkedList和arrayList的add方法
- 关于HashMap问题二
- 一个链式存储的例子(图片)
- 如何让两个div处于一行
- PHP源码分析-变量的存储方式
- mini2440硬件篇之看门狗
- js 中读取JSON的方法探讨
- 黑马程序员——正则表达式
- 提高Oracle查询效率