listexample.java
来自「这是使用Amino并发编程Java API库编写的List线程安全的Java程序」· Java 代码 · 共 56 行
JAVA
56 行
package org.amino.examples;import java.util.List;import java.util.concurrent.ExecutorService;import java.util.concurrent.Executors;import java.util.concurrent.TimeUnit;import java.util.concurrent.atomic.AtomicInteger;import org.amino.ds.lockfree.LockFreeList;public class ListExample { private static final int ELEMENT_NUM = 1000; public static void main(String[] argvs) { ExecutorService exec = Executors.newCachedThreadPool(); final List<String> listStr = new LockFreeList<String>(); for (int i = 0; i < ELEMENT_NUM; ++i) { exec.submit(new ListInsTask(listStr)); } exec.shutdown(); try { exec.awaitTermination(600, TimeUnit.SECONDS); } catch (InterruptedException e) { e.printStackTrace(); } System.out.println("Size of list is " + listStr.size()); for (int i = 1; i <= ELEMENT_NUM; ++i) { if (!listStr.contains(i)) { System.out.println("didn't find " + i); } } }}class ListInsTask implements Runnable { private static AtomicInteger count = new AtomicInteger(); List list; public ListInsTask(List l) { list = l; } public void run() { if (!list.add(count.incrementAndGet())) { System.out.println("did not insert " + count.get()); } }}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?