多线程经典笔试面试题
来源:互联网 发布:国研网数据子库 编辑:程序博客网 时间:2024/05/01 17:16
设计 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
- 多线程经典笔试面试题
- 多线程经典面试题
- 多线程经典面试题
- 多线程经典面试题
- 多线程经典面试题
- 多线程经典面试题
- 多线程经典面试题
- 多线程经典面试题
- 经典多线程面试题
- 多线程经典面试题
- 多线程经典面试题
- 多线程经典面试题
- 经典笔试面试题(二)
- 经典数据库笔试面试题
- 多线程笔试面试题汇总
- 多线程笔试面试题汇总
- 多线程笔试面试题汇总
- 多线程笔试面试题汇总
- HTML+CSS基础 table标签cellspacing属性设置单元格与单元格、边框之间的距离
- 赛码---约德尔测试(Java)
- swift3新路程(16)nil、optional values和强拆包(!)
- 空对象模式
- ionic 下拉刷新
- 多线程经典笔试面试题
- Gym 100543A Parades
- https://github.com/getlantern/lantern/
- myeclipse 开发web项目发布到Tomcat下root目录
- 简单命令
- HTML+CSS基础 table中的tr中的td的colspan属性创建跨列的单元格(创建不规整表格)
- 软链接和硬链接
- Linq常用语法
- insertBefore() 方法