zoukankan      html  css  js  c++  java
  • Java线程面试题:设计四个线程,其中两个线程每次对 j 加 1,另外两个每次对 j 减 1,程序如下。

    package thread;
    /**
     * Java线程面试题
     * @author zhongfg
     * @date 2015-06-16
     */
    public class ThreadInterview2 {
        // 定义全局变量
        private int j;
    
        public static void main(String args[]) {
    
            ThreadInterview2 tt = new ThreadInterview2();
            // 调用非静态的方法
            Inc inc = tt.new Inc();
            Dec dec = tt.new Dec();
    
            for (int i = 0; i < 2; i++) {
                Thread t = new Thread(inc);
                t.start();
                t = new Thread(dec);
                t.start();
            }
        }
    
        class Inc implements Runnable {
            public void run() {
                for (int i = 0; i < 50; i++) {
                    inc();
                }
            }
        }
    
        class Dec implements Runnable {
            public void run() {
                for (int i = 0; i < 50; i++) {
                    dec();
                }
            }
        }
    
        private synchronized void inc() {
            j++;
            System.out.println(Thread.currentThread().getName() + "->增加后的值:" + j);
        }
    
        private synchronized void dec() {
            j--;
            System.out.println(Thread.currentThread().getName() + "->减后的值:" + j);
        }
    }
    
    运行结果:
    Thread-0->增加后的值:1
    Thread-0->增加后的值:2
    Thread-0->增加后的值:3
    Thread-0->增加后的值:4
    Thread-0->增加后的值:5
    Thread-0->增加后的值:6
    Thread-0->增加后的值:7
    Thread-0->增加后的值:8
    Thread-0->增加后的值:9
    Thread-0->增加后的值:10
    Thread-0->增加后的值:11
    Thread-0->增加后的值:12
    Thread-0->增加后的值:13
    Thread-0->增加后的值:14
    Thread-0->增加后的值:15
    Thread-0->增加后的值:16
    Thread-0->增加后的值:17
    Thread-0->增加后的值:18
    Thread-0->增加后的值:19
    Thread-0->增加后的值:20
    Thread-0->增加后的值:21
    Thread-0->增加后的值:22
    Thread-0->增加后的值:23
    Thread-0->增加后的值:24
    Thread-0->增加后的值:25
    Thread-0->增加后的值:26
    Thread-0->增加后的值:27
    Thread-0->增加后的值:28
    Thread-0->增加后的值:29
    Thread-0->增加后的值:30
    Thread-0->增加后的值:31
    Thread-0->增加后的值:32
    Thread-0->增加后的值:33
    Thread-0->增加后的值:34
    Thread-0->增加后的值:35
    Thread-0->增加后的值:36
    Thread-0->增加后的值:37
    Thread-0->增加后的值:38
    Thread-0->增加后的值:39
    Thread-0->增加后的值:40
    Thread-0->增加后的值:41
    Thread-0->增加后的值:42
    Thread-0->增加后的值:43
    Thread-0->增加后的值:44
    Thread-0->增加后的值:45
    Thread-0->增加后的值:46
    Thread-0->增加后的值:47
    Thread-0->增加后的值:48
    Thread-0->增加后的值:49
    Thread-0->增加后的值:50
    Thread-1->减后的值:49
    Thread-1->减后的值:48
    Thread-1->减后的值:47
    Thread-1->减后的值:46
    Thread-1->减后的值:45
    Thread-1->减后的值:44
    Thread-1->减后的值:43
    Thread-1->减后的值:42
    Thread-1->减后的值:41
    Thread-1->减后的值:40
    Thread-1->减后的值:39
    Thread-1->减后的值:38
    Thread-1->减后的值:37
    Thread-1->减后的值:36
    Thread-1->减后的值:35
    Thread-1->减后的值:34
    Thread-1->减后的值:33
    Thread-1->减后的值:32
    Thread-1->减后的值:31
    Thread-1->减后的值:30
    Thread-1->减后的值:29
    Thread-1->减后的值:28
    Thread-1->减后的值:27
    Thread-1->减后的值:26
    Thread-1->减后的值:25
    Thread-1->减后的值:24
    Thread-1->减后的值:23
    Thread-1->减后的值:22
    Thread-1->减后的值:21
    Thread-1->减后的值:20
    Thread-1->减后的值:19
    Thread-1->减后的值:18
    Thread-1->减后的值:17
    Thread-1->减后的值:16
    Thread-1->减后的值:15
    Thread-1->减后的值:14
    Thread-1->减后的值:13
    Thread-1->减后的值:12
    Thread-1->减后的值:11
    Thread-1->减后的值:10
    Thread-1->减后的值:9
    Thread-1->减后的值:8
    Thread-1->减后的值:7
    Thread-1->减后的值:6
    Thread-1->减后的值:5
    Thread-1->减后的值:4
    Thread-1->减后的值:3
    Thread-1->减后的值:2
    Thread-1->减后的值:1
    Thread-1->减后的值:0
    Thread-3->减后的值:-1
    Thread-3->减后的值:-2
    Thread-3->减后的值:-3
    Thread-3->减后的值:-4
    Thread-3->减后的值:-5
    Thread-3->减后的值:-6
    Thread-3->减后的值:-7
    Thread-3->减后的值:-8
    Thread-3->减后的值:-9
    Thread-3->减后的值:-10
    Thread-3->减后的值:-11
    Thread-3->减后的值:-12
    Thread-3->减后的值:-13
    Thread-3->减后的值:-14
    Thread-3->减后的值:-15
    Thread-3->减后的值:-16
    Thread-3->减后的值:-17
    Thread-3->减后的值:-18
    Thread-3->减后的值:-19
    Thread-3->减后的值:-20
    Thread-3->减后的值:-21
    Thread-3->减后的值:-22
    Thread-3->减后的值:-23
    Thread-3->减后的值:-24
    Thread-3->减后的值:-25
    Thread-3->减后的值:-26
    Thread-3->减后的值:-27
    Thread-3->减后的值:-28
    Thread-3->减后的值:-29
    Thread-3->减后的值:-30
    Thread-3->减后的值:-31
    Thread-3->减后的值:-32
    Thread-3->减后的值:-33
    Thread-3->减后的值:-34
    Thread-3->减后的值:-35
    Thread-3->减后的值:-36
    Thread-3->减后的值:-37
    Thread-3->减后的值:-38
    Thread-3->减后的值:-39
    Thread-3->减后的值:-40
    Thread-3->减后的值:-41
    Thread-3->减后的值:-42
    Thread-3->减后的值:-43
    Thread-3->减后的值:-44
    Thread-3->减后的值:-45
    Thread-3->减后的值:-46
    Thread-3->减后的值:-47
    Thread-3->减后的值:-48
    Thread-3->减后的值:-49
    Thread-3->减后的值:-50
    Thread-2->增加后的值:-49
    Thread-2->增加后的值:-48
    Thread-2->增加后的值:-47
    Thread-2->增加后的值:-46
    Thread-2->增加后的值:-45
    Thread-2->增加后的值:-44
    Thread-2->增加后的值:-43
    Thread-2->增加后的值:-42
    Thread-2->增加后的值:-41
    Thread-2->增加后的值:-40
    Thread-2->增加后的值:-39
    Thread-2->增加后的值:-38
    Thread-2->增加后的值:-37
    Thread-2->增加后的值:-36
    Thread-2->增加后的值:-35
    Thread-2->增加后的值:-34
    Thread-2->增加后的值:-33
    Thread-2->增加后的值:-32
    Thread-2->增加后的值:-31
    Thread-2->增加后的值:-30
    Thread-2->增加后的值:-29
    Thread-2->增加后的值:-28
    Thread-2->增加后的值:-27
    Thread-2->增加后的值:-26
    Thread-2->增加后的值:-25
    Thread-2->增加后的值:-24
    Thread-2->增加后的值:-23
    Thread-2->增加后的值:-22
    Thread-2->增加后的值:-21
    Thread-2->增加后的值:-20
    Thread-2->增加后的值:-19
    Thread-2->增加后的值:-18
    Thread-2->增加后的值:-17
    Thread-2->增加后的值:-16
    Thread-2->增加后的值:-15
    Thread-2->增加后的值:-14
    Thread-2->增加后的值:-13
    Thread-2->增加后的值:-12
    Thread-2->增加后的值:-11
    Thread-2->增加后的值:-10
    Thread-2->增加后的值:-9
    Thread-2->增加后的值:-8
    Thread-2->增加后的值:-7
    Thread-2->增加后的值:-6
    Thread-2->增加后的值:-5
    Thread-2->增加后的值:-4
    Thread-2->增加后的值:-3
    Thread-2->增加后的值:-2
    Thread-2->增加后的值:-1
    Thread-2->增加后的值:0
  • 相关阅读:
    注释神器
    Q币直充-迅银渠道商(php 面向对象类)
    rsync 同步多台服务器项目目录
    wdcp 打开网页显示 Apache 2 Test Page powered by CentOS -- 来自辉哥博客
    elasticsearch批量修改,批量更新某个字段
    Ik分词器没有使用---------elasticsearch-analysis-ik 5.6.3分词问题
    spring-boot-starter-data-elasticsearch 整合elasticsearch 5.x详解
    FastJson--SerializerFeature.PrettyFormat 如何实现格式化源码查看
    由Premature end of Content-Length delimited message body因发的问题排查
    JVM的YoungGC日志查看
  • 原文地址:https://www.cnblogs.com/zfg-technology/p/3572281.html
Copyright © 2011-2022 走看看