java 怎么用数组写五子棋

u010982425 2016-04-24 05:44:33
要求十行乘以十行 求大神帮忙 毫无头绪
...全文
284 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
renwuqiangg 2016-04-28
  • 打赏
  • 举报
回复
首先,你要会画图。 while(true){ 执行检测算法;//看看有人赢了没 画bufferedimage; 刷新面板; sleep50毫秒; } 这样每50毫秒就会刷新一下。
新锐码农小L 2016-04-25
  • 打赏
  • 举报
回复
我这有教程,加我QQ,602049511
zhuangqingch 2016-04-25
  • 打赏
  • 举报
回复
回复错了,忽略=。=
zhuangqingch 2016-04-25
  • 打赏
  • 举报
回复
问题1解释: 之所以产生2个线程,这个跟线程池自身提供异常处理机制有关:线程执行异常时创建一个新的线程替换(非绝对) 如何验证:源码说明一切,建议楼主有时间可以研究下ThreadPoolExecutor的源码,网上很多人对线程池的源码做了很好的分析,可以网上查下辅助源码阅读,这里不多做详述。

private void processWorkerExit(Worker w, boolean completedAbruptly) {
        if (completedAbruptly) // If abrupt, then workerCount wasn't adjusted
            decrementWorkerCount();

        final ReentrantLock mainLock = this.mainLock;
        mainLock.lock();
        try {
            completedTaskCount += w.completedTasks;
            workers.remove(w);
        } finally {
            mainLock.unlock();
        }

        tryTerminate();

        int c = ctl.get();
        if (runStateLessThan(c, STOP)) {
            if (!completedAbruptly) {
                int min = allowCoreThreadTimeOut ? 0 : corePoolSize;
                if (min == 0 && ! workQueue.isEmpty())
                    min = 1;
                if (workerCountOf(c) >= min)
                    return; // replacement not needed
            }
            addWorker(null, false); //创建一个空任务的工作线程
        }
    }
问题2解释: 由于自定义的线程工厂创建的线程都是非守护线程,当main线程执行结束后,程序是不会结束的(存在非守护线程还在执行)

62,615

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧