public static void main(String[] args) {
new Test()
}
public Test() {
final Data data = new Data()
new Thread() {
public void run() {
while (true) {
data.A()
try {// 线程睡眠裤芹时间,睡眠时间是随贺纯稿机的,禅孝这样更真实一点
Thread.sleep((long) (Math.random() * 1000))
} catch (InterruptedException e) {
e.printStackTrace()
}
}
}
}.start()
new Thread() {
public void run() {
while (true) {
data.B()
try {// 线程睡眠时间
Thread.sleep((long) (Math.random() * 1000))
} catch (InterruptedException e) {
e.printStackTrace()
}
}
}
}.start()
}
class Data {// 数据 *** 作
private int N = 0
public void A() {// N自加 *** 作
N = N + 1
}
public void B() {// N置0 *** 作
System.out.println("N:" + N)
N = 0
}
}
}
程序的运行环境是不一样的,程序睁蚂是在 *** 作系统这个大环境中运行的,而 *** 作系统的环境是变化配闹的,比方说系统时间。程序执行的结果的不确定 ,比如程序要获取当前时间,或悉卖埋者读取某个易变寄存器的值,所以说程序有不可再现性。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)