黑马程序员技术交流社区
标题:
今天遇到一个小程序需求没搞出来
[打印本页]
作者:
韩冬
时间:
2013-5-2 23:27
标题:
今天遇到一个小程序需求没搞出来
设计4个线程,其中两个线程每次对j增加1,另外两个线程对j每次减少1。 今天搞了半天还总是报
错,可能是整体思想有问题,那个哥们有时间帮忙搞一下,谢谢了,在线等.
作者:
一直在路上
时间:
2013-5-2 23:36
public class Test
{
private int num;
public static void main(String[] args)
{
Test t = new Test();
Add add = t.new Add();
Sub sub = t.new Sub();
Thread t1 = new Thread(add);
Thread t2 = new Thread(sub);
t1.start();
t2.start();
}
private synchronized void add()
{
System.out.println(Thread.currentThread().getName()+":"+num++);
}
private synchronized void sub()
{
System.out.println(Thread.currentThread().getName()+":"+num--);
}
class Add implements Runnable
{
public void run()
{
for(int i=0;i<200;i++)
{
add();
}
}
}
class Sub implements Runnable
{
public void run()
{
for(int i=0;i<200;i++)
{
sub();
}
}
}
}
作者:
吴凯
时间:
2013-5-2 23:53
public class ThreadTest
{
private int j;
public static void main(String args[])
{
ThreadTest 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();
}
}
}
}
不知道对不对 你先尝试下
作者:
韩冬
时间:
2013-5-3 00:33
吴凯 发表于 2013-5-2 23:53
public class ThreadTest
{
private int j;
这个可以,谢谢.
作者:
花开花落总相似
时间:
2013-5-3 07:58
额 看来我是晚了 那就没得搞头了.....
作者:
黄玉昆
时间:
2013-5-3 22:19
如果仍有问题,请继续追问,如果问题已解决,请将分类改为已解决,谢谢
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2