Java多线程,启动四个线程,两个执行加一,另外两个执行减一
2014-11-04 10:56
701 查看
package com.yu.learn.main; public class MyThread { public static void main(String[] args) { OneThread one = new OneThread("add"); Thread t1 = new Thread(one); Thread t2 = new Thread(one); OneThread two = new OneThread("minus"); Thread t3 = new Thread(two); t3.setPriority(9); Thread t4 = new Thread(two); t1.start(); t2.start(); t3.start(); t4.start(); } } class Singleton { private static Singleton instance = null; private static int number = 0; private Singleton() { } public static Singleton getInstance() { if (instance == null) instance = new Singleton(); return instance; } public synchronized int Add(){ try{ System.out.println("执行+1操作前为 "+number); return ++number; }finally{ System.out.println("执行+1操作后为 "+number); System.out.println("-------------------"); } } public synchronized int minus() { try{ System.out.println("执行-1操作前为 "+number); return --number; }finally{ System.out.println("执行-1操作后为 "+number); System.out.println("-------------------"); } } } class OneThread implements Runnable { private Singleton singleton; private String status; OneThread(String status) { singleton = Singleton.getInstance(); this.status = status; } @Override public void run() { if ("add".equals(this.status)) { System.out.println(singleton.Add()); } else { System.out.println(singleton.minus()); } } }
相关文章推荐
- Java 多线程中。两个线程交替执行,一个输出偶数,一个输出奇数
- Java 多线程中。两个线程交替执行,一个输出偶数,一个输出奇数(方法二)
- Java 多线程实现的三种方法,附两个线程执行不同的输出
- 面试必问!Java 多线程中两个线程交替执行,一个输出偶数,一个输出奇数
- java多线程笔试题:设计4个线程,其中两个线程每次对j增加1,另外2个线程每次对j减少1.写出程序
- 用JAVA写一个多线程程序,写四个线程,其中二个对一个变量加1,另外二个对一个变量减1
- Java 多线程中。两个线程交替执行,一个输出偶数,一个输出奇数(方法一)
- 迅雷笔试题 (JAVA多线程)启动三个线程,分别打印A B C,现在写一个程序 循环打印ABCABCABC
- Java多线程(二)、启动一个线程的3种方式
- java面试题--4个线程两个线程每次对j增加1另外两个线程对j每次减少1
- java 下计算质数的多线程跟单线程执行代码分析
- Java基础多线程之join抢夺CPU执行权直到该线程结束。
- Java多线程--让主线程等待所有子线程执行完毕(转)
- Java多线程-(4)线程的创建、启动、Runnable和Thread
- 控制台创建两个线程,等待一个线程的结束,执行另外一线程
- java中结合单例模式,控制单例类的某方法在被多线程调用时,只被1个线程调用执行,执行完毕后才被另一线程调用
- java多线程实现主线程等待所有子线程执行完毕
- Java多线程--让主线程等待所有子线程执行完毕
- java 多线程同步--多个线程启动执行同一段代码
- 学习java多线程的笔记3-使用BlockingQueue阻塞队列来模拟两个线程之间的通信