当前位置: 代码迷 >> Java相关 >> [求助]java多线程
  详细解决方案

[求助]java多线程

热度:425   发布时间:2007-05-02 23:44:48.0
[求助]java多线程
请帮忙写4个线程 对同一个对象 2个加1 2个减1
希望能有不同的版本 谢谢
搜索更多相关的解决方案: java  线程  

----------------解决方案--------------------------------------------------------
像这种问题楼主应该自己好好想想
----------------解决方案--------------------------------------------------------
[CODE]

public class ThreadTest
{
public static void main(String[] args)
{
MyThread th=new MyThread();
th.getThread1(true).start();
th.getThread1(true).start();
th.getThread1(false).start();
th.getThread1(false).start();
}
}

class MyThread
{
private int i=0;

private class Thread1 extends Thread
{
boolean bool;
public Thread1(boolean bool)
{
this.bool=bool;
}
public void run()
{
if(bool==true)
{
while(true)
System.out.println(i++);
}
else
{
while(true)
System.out.println(i--);
}
}
}


public Thread getThread1(boolean bool)
{
return new Thread1(bool);
}

}

[/CODE]

今天刚看线程,试着写了写!不好别见怪
----------------解决方案--------------------------------------------------------

不错不错 我今天也写了个 但是不知道这样写好不好 还请哪位仁兄指点指点

public class Jbb {
int j;
class Jia implements Runnable{

public void run() {
for(int i=0;i<50;i++){
jia();
}
}
}
class Jian implements Runnable{

public void run() {
for(int i=0;i<50;i++){
jian();
}
}
}
public synchronized void jia(){
j++;
System.out.println(Thread.currentThread().getName()+"++++jia:"+j);
}
public synchronized void jian(){
j--;
System.out.println(Thread.currentThread().getName()+"----jian:"+j);
}
public static void main(String[] args) {
Jbb b = new Jbb();
Jia ko = b.new Jia();
Jian ok = b.new Jian();
for(int i=0;i<2;i++){
Thread t = new Thread(ko);
t.start();
t = new Thread(ok);
t.start();
}
}

}


----------------解决方案--------------------------------------------------------
  相关解决方案