用内部类实现多线程的方案
2009-03-11 13:18
155 查看
设计4个线程,其中两个线程每次对j增加1,另外两个线程对j每次减少1。
以下程序使用内部类实现线程,对j增减的时候没有考虑顺序问题。
以下程序使用内部类实现线程,对j增减的时候没有考虑顺序问题。
package test; public class ThreadTest { //定义变量,用于检测线程调度的先后次序 private int j; public static void main(String args[]) { ThreadTest tt = new ThreadTest(); Inc inc = tt.new Inc(); Dec dec = tt.new Dec(); //循环两次,每次启动2个线程,总共有4个线程 for (int i = 0; i < 2; i++) { Thread t = new Thread(inc); t.start(); t = new Thread(dec); t.start(); } } //synchronized 线程同步 同一时间内只能执行这个类中的一个方法 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); } //实现Runnable接口 java中有2中方法实现线程 1、扩展java.lang.Thread类 2、实现java.lang.Runnable接口 class Inc implements Runnable { public void run() { for (int i = 0; i < 10; i++) { inc(); } } } class Dec implements Runnable { public void run() { for (int i = 0; i < 10; i++) { dec(); } } } }
相关文章推荐
- 匿名内部类实现多线程,内部类调用外部方法中定义的变量
- iOS中多线程实现方案
- 【多线程】三种方案实现多线程之间相互协作的通信
- iOS学习笔记-102.多线程01——iOS中多线程的实现方案
- 多线程_匿名内部类的方式实现多线程程序
- 续:用匿名内部类实现多线程的一小段代码
- 内部类实现多线程环境中的单例模式
- 【多线程】三种方案实现多线程之间相互协作的通信
- 23 API-多线程(多线程概述,多线程实现方案,线程控制常见方法,线程安全问题及解决)
- Android(java)学习笔记75:匿名内部类的方式实现多线程程序
- iOS多线程(二) 实现方案上(pthread,NSThread介绍)
- iOS多线程实现的几种方案
- 多线程学习03-实现方案
- Java多线程 匿名内部类实现多线程
- JavaSE8基础 多线程 匿名内部类继承Thread实现
- [置顶]Java中 实现多线程成的三种方式(继承,实现,匿名内部类)
- Java_基础—多线程(匿名内部类实现线程的两种方式和设置名字的方法)
- java 多线程 内部类实现
- iOS中多线程的实现方案
- JavaSE8基础 多线程 匿名内部类实现Runnable接口实现