博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
4线程两加两减
阅读量:6341 次
发布时间:2019-06-22

本文共 1031 字,大约阅读时间需要 3 分钟。

hot3.png

package com.thread;/** * 设计4个线程,其中两个线程对j加1,另外两个对j减1 *  * */public class ThreadTest2 {		//外部内成员变量j,共享于两个内部类	private int j; 		public static void main(String[] args) {		/**		 * 外部类使用内部类实例时,需先实例化外部类		 * 因为内部类可以调用外部类的人员成员,		 * 当没有外部类实例的时候也就没有这些成员的内存空间,		 * 内部类在实例化的时候,调用外部类的成员就会出错,		 * 所以需要使用外部类的实例 + 点 + new 的方式实例化一个新的内部类		 */		ThreadTest2 test2=new ThreadTest2();		Inc inc=test2.new Inc();		Dec dec=test2.new Dec();		for (int i = 0; i < 2; i++) {			new Thread(inc).start();			new Thread(dec).start();		}	}			/**	 * 加1方法	 */	public synchronized void inc() {		j++;		System.out.println(Thread.currentThread().getName()+":inc()="+j);	}		/**	 * 减1方法	 */	public synchronized void dec() {		j--;		System.out.println(Thread.currentThread().getName()+":dec()="+j);	}			//加1的内部类	class Inc implements Runnable{		public void run() {			for (int i = 0; i < 10; i++) {				inc();			}		}	}	//减1的内部类	class Dec implements Runnable{		public void run() {			for (int i = 0; i < 10; i++) {				dec();			}		}	}}

转载于:https://my.oschina.net/bluesroot/blog/222533

你可能感兴趣的文章
巧用AJAX技术,通过updatePanel控件实现局部刷新
查看>>
20140420技术交流活动总结
查看>>
SaltStack配置salt-api
查看>>
各种情况下block的类型
查看>>
ThinkPHP 3.2.x 集成极光推送指北
查看>>
js作用域链
查看>>
java中如何选择Collection Class--java线程(第3版)
查看>>
为运维人员插上腾飞更远的翅膀!
查看>>
Word 2003中编辑标记与格式标记大讨论
查看>>
调试网页PAIP HTML的调试与分析工具
查看>>
路径工程OpenCV依赖文件路径自动添加方法
查看>>
玩转SSRS第七篇---报表订阅
查看>>
WinCE API
查看>>
Linux常用基本命令[cp]
查看>>
CSS 相对|绝对(relative/absolute)定位系列(一)
查看>>
关于 Nginx 配置 WebSocket 400 问题
查看>>
Glide和Govendor安装和使用
查看>>
Java全角、半角字符的关系以及转换
查看>>
前端项目课程3 jquery1.8.3到1.11.1有了哪些新改变
查看>>
UOJ#179. 线性规划(线性规划)
查看>>