import java.util.ArrayList;
import java.util.List;
import java.util.Vector;
import java.util.concurrent.atomic.AtomicInteger;
public class Test {
public static void main(String args[]) throws Exception {
//记录开始时间
long begin = System.currentTimeMillis();
//执行范围 10000次
int count = 10000;
/** 执行结果集 */
final List<String> result = new Vector<String>();
final List<String> lost_list = new Vector<String>();
List<Runnable> list = new ArrayList<Runnable>();
for(int i=0;i<count;i++){
list.add(new Runnable() {
@Override
public void run() {
String s = Math.random()+"";
try {
int c = (int) (Math.random() * 1000);
if(c == 5){
throw new RuntimeException("...");
}
result.add(s);
getSuccessAndIncrement();
} catch (Exception e) {
lost_list.add(s);
/** 记录错误次数 */
getAndIncrement();
}
}
});
}
for(Runnable r : list){
new Thread(r).start();
}
int success=0 ;
int lost=0;
while(true){
/** 获取成功数 */
success = SUCCESS_COUNT.get();
/** 获取失败数 */
lost = COUNT.get();
if(count == success+lost){
break;
}
}
System.out.println("返回成功结果集:"+result.size());
System.out.println(">>>处理完毕,失败:"+lost);
for(String s : lost_list){
System.out.println("lost:"+s);
}
System.out.println("运行时间:"+(System.currentTimeMillis()-begin)+"毫秒");
}
/** 记录错误的次数 */
public static final AtomicInteger COUNT = new AtomicInteger(0);
/**
* 错误次数加1
* @return
*/
public static final void getAndIncrement() {
while (true) {
int current = COUNT.get();
int next = current + 1;
if (COUNT.compareAndSet(current, next)) {
break;
}
}
}
/** 成功次数 */
public static final AtomicInteger SUCCESS_COUNT = new AtomicInteger(0);
/**
* 成功次数加1
* @return
*/
public static final void getSuccessAndIncrement() {
while (true) {
int current = SUCCESS_COUNT.get();
int next = current + 1;
if (SUCCESS_COUNT.compareAndSet(current, next)) {
break;
}
}
}
}
分享到:
相关推荐
基于直接反馈线性化的异步电动机非线性控制rar,基于直接反馈线性化的异步电动机非线性控制
针对一类新的非线性n阶共振非局部边值问题,运用Mawhin重合度理论,研究了边值问题解的若干存在性结论.结果表明:通过建立Sobolev...该结果丰富了非线性高阶共振边值问题定解理论的相关成果,为工程实际问题提供了理论依据.
用Matlab进行最小二乘法线性拟合求传感器非线性误差灵敏度.pdf用Matlab进行最小二乘法线性拟合求传感器非线性误差灵敏度.pdf用Matlab进行最小二乘法线性拟合求传感器非线性误差灵敏度.pdf用Matlab进行最小二乘法线性...
离散切换线性系统的异步滤波器设计.pdf
代码 多元非线性回归代码代码 多元非线性回归代码代码 多元非线性回归代码代码 多元非线性回归代码代码 多元非线性回归代码代码 多元非线性回归代码代码 多元非线性回归代码代码 多元非线性回归代码代码 多元非线性...
线性回归方程——非线性方程转化为线性方程.pdf
代码 多元非线性回归 代码代码 多元非线性回归 代码代码 多元非线性回归 代码代码 多元非线性回归 代码代码 多元非线性回归 代码代码 多元非线性回归 代码代码 多元非线性回归 代码代码 多元非线性回归 代码代码 ...
其中提供了很多非线性方程的模型,以满足不同的需求,也可以制定自己所需要的指定非线性方程模型的,采用最先进的初始值估算算法,无需初始值就可以拟合自己想要的非线性方程模型各个模块的介绍如下。 1.线性拟合...
Parker 线性执行器pdf,Parker 线性执行器
线性规划与非线性规划问题线性规划与非线性规划问题
用于混合整数的非线性规划,非线性规划的几个程序,用于混合整数的计算
基于matlab仿真的非线性调频,此非线性调频利用s曲线生成调频函数,有较高的主副比,在信噪比的抑制方面有较好的性能
该压缩包内为非线性格兰杰因果关系检验代码,欢迎大家下载
案例2 BP神经网络的非线性系统建模-非线性函数拟合
通过对非线性系统进行线性化,掌握状态反馈线性化方法的过程,并通过Simulink仿真过程,验证设计的控制率能否满足设计要求并进一步掌握状态反馈线性化方法
4.0 绪论 4.1 基于动平衡状态理论的非线性系统反馈线性化直接方法 4.2 单变量输入输出反馈线性化直接方法及鲁棒设计 仿射非线性系统输入输出线性化及鲁棒设计 ...多输入—多输出系统的反馈线性化 4.6 近似线性化方法
非线性duffing方程,多尺度法求解幅频响应,扫频法。
BP神经网络的非线性系统建模-非线性函数拟合 ,bp神经网络的非线性系统建模
CAE线性分析与非线性分析的区别.pdf
Langmuir方程是常用的吸附等温线方程之一,Langmuir方程参数估计有线性回归和非线性回归2种方法。以实测数据为依据,采用IBM SPSS Statistics 24.0软件进行Langmuir方程参数线性回归与非线性回归的对比分析。结果表明:...