A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© Android666 中级黑马   /  2016-2-23 22:20  /  342 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

、设计4个线程,其中两个线程每次对j增加1,另外两个线程对j每次减少1。写出程序。

以下程序使用内部类实现线程,对j增减的时候没有考虑顺序问题。

public class ThreadTest1{

private int j;

public static void main(String args){

ThreadTest1 tt=new ThreadTest1;

Inc inc=tt.new Inc;

Dec dec=tt.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{

public void run{

for(int i=0;i《100;i++){

inc;

class Dec implements Runnable{

public void run{

for(int i=0;i《100;i++){

dec;

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马