织梦CMS - 轻松建站从此开始!

沙龙娱乐网_沙龙国际娱乐网_沙龙国际娱乐官网

当前位置: 主页 > 沙龙娱乐老虎机 >

一个简单多线程资源共享问题,不明白为什么会

时间:2017-07-07 09:04来源:未知 作者:admin 点击:
代码为下面: 为什么运行会出现奇数结果? 《java编程思想》的里面的解释没有看懂,能够请大神解释一下其中原理。 import java.util.concurrent.*;public class EvenGenerator extends IntGenerator { pri

代码为下面:

  1. 为什么运行会出现奇数结果? 《java编程思想》的里面的解释没有看懂,能够请大神解释一下其中原理。

import java.util.concurrent.*;

public class EvenGenerator extends IntGenerator {
  private int currentEvenValue = 0;
  public int next() {
      currentEvenValue; // Danger point here!
      currentEvenValue;
    return currentEvenValue;
  }
  public static void main(String[] args) {
    EvenChecker.test(new EvenGenerator() ,10);
  }
} 
public class EvenChecker implements Runnable {
  private IntGenerator generator;
  private final int id;
  public EvenChecker(IntGenerator g, int ident) {
    generator = g;
    id = ident;
  }
  public void run() {
    while(!generator.isCanceled()) {
      int val = generator.next();
    //   System . out . println ( val ) ;         
      if(val % 2 != 0) {
        System.out.println(val   " not even!");
        generator.cancel(); // Cancels all EvenCheckers
      }
    }
  }
  // Test any type of IntGenerator:
  public static void test(IntGenerator gp, int count) {
    System.out.println("Press Control-C to exit");
    ExecutorService exec = Executors.newCachedThreadPool();
    for(int i = 0; i 
      
      (责任编辑:admin)
织梦二维码生成器
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 验证码:点击我更换图片
栏目列表
推荐内容