多线程经典笔试面试题
Posted sshhsun-
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了多线程经典笔试面试题相关的知识,希望对你有一定的参考价值。
设计 4个线程,其中两个线程每次对 j 增加 1,另外两个线程对 j 每次减少 1。写出程序
package com.sshhsun.javathread.day01;
public class ThreadTest1
private int j = 1;
public static void main(String[] args)
ThreadTest1 test1 = new ThreadTest1();
Inc inc = test1.new Inc();
Dec dec = test1.new Dec();
for (int i = 0; i < 2; i++)
Thread t = new Thread(inc);
t.start();
t = new Thread(dec);
t.start();
private synchronized void inc()
j++;
System.out.println(Thread.currentThread().getName() + "--inc:" + j);
private synchronized void dec()
j--;
System.out.println(Thread.currentThread().getName() + "--dec:" + j);
class Inc implements Runnable
@Override
public void run()
for (int i = 0; i < 10; i++)
inc();
class Dec implements Runnable
@Override
public void run()
for (int i = 0; i < 10; i++)
dec();
运行结果
Thread-0–inc:2
Thread-0–inc:3
Thread-0–inc:4
Thread-0–inc:5
Thread-0–inc:6
Thread-0–inc:7
Thread-0–inc:8
Thread-0–inc:9
Thread-0–inc:10
Thread-0–inc:11
Thread-3–dec:10
Thread-3–dec:9
Thread-3–dec:8
Thread-3–dec:7
Thread-3–dec:6
Thread-3–dec:5
Thread-3–dec:4
Thread-3–dec:3
Thread-3–dec:2
Thread-3–dec:1
Thread-1–dec:0
Thread-1–dec:-1
Thread-1–dec:-2
Thread-1–dec:-3
Thread-1–dec:-4
Thread-1–dec:-5
Thread-1–dec:-6
Thread-1–dec:-7
Thread-1–dec:-8
Thread-1–dec:-9
Thread-2–inc:-8
Thread-2–inc:-7
Thread-2–inc:-6
Thread-2–inc:-5
Thread-2–inc:-4
Thread-2–inc:-3
Thread-2–inc:-2
Thread-2–inc:-1
Thread-2–inc:0
Thread-2–inc:1
以上是关于多线程经典笔试面试题的主要内容,如果未能解决你的问题,请参考以下文章
BAT Java面试笔试33题:JavaListJava Map等经典面试题!答案汇总!