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 + -
显示快捷键?