加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

多线程--设计4个线程,其中两个线程每次对j增加1,另外两个线程对j每次减少1

(2014-08-24 14:03:27)
分类: java
  1.    
  2.   
  3. package com.jiaocaigen.test;  
  4. public class Test {   
  5.     // 采用 Runnable 接口方式创建的多条线程可以共享实例属性   
  6.  
  7.     private int ;   
  8.     // 同步增加方法   
  9.   
  10.     private synchronized void inc(){   
  11.        ++;   
  12.        System. out .println(Thread.currentThread().getName()+ "--inc--" );  
  13.       
  14.   
  15.     // 同步减算方法   
  16.   
  17.     private synchronized void dec(){   
  18.        --;   
  19.        System. out .println(Thread.currentThread().getName()+ "--dec--" );  
  20.       
  21.   
  22.     // 增加线程    注意是内部类,且是非静态的
  23.     class Inc implements Runnable {  
  24.        public void run() {   
  25.            inc();   
  26.        }   
  27.     }  
  28.   
  29.     // 减算线程   注意是内部类,且是非静态的
  30.     class Dec extends Thread{  
  31.        public void run() {   
  32.            dec();   
  33.        }   
  34.     }   
  35.   
  36.     public static void main(String[] args) {   

  37.         //由于内部类是非静态的,所以这样需要Test的实例化才能调用生成内部类实例
  38.         Test new Test();   
  39.         
  40.        // 内部类的实例化   
  41.        Inc inc t. new Inc();   //
  42.         // Dec dec t. new Dec();   
  43.   
  44.        Thread  thread = NULL;
  45.        // 创建 2 个增加线程  
  46.        for int 02i++) {  
  47.    thread =  new Thread(inc);  //实现Runnable的类的实例化,使用带参数的Thread构造方法.
  48.            thread.start();  
  49.          
  50.   
  51.       // 创建 2 个减少线程  
  52.        for int 02i++) {  
  53.    thread =  t.new Dec();  //继承Thread的类可以直接实例化.
  54.            thread.start();  
  55.        }  
  56.  
  57.       
  58.   
  59.  
  60.   

0

阅读 收藏 喜欢 打印举报/Report
前一篇:java 关键字
后一篇:JVM介绍
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有