标题:关系cmd的
只看楼主
经哥
Rank: 3Rank: 3
来 自:代码空间
等 级:论坛游侠
威 望:1
帖 子:289
专家分:124
注 册:2012-9-8
结帖率:91.8%
已结贴  问题点数:20 回复次数:7 
关系cmd的
这是我的代码
     class ticket implements Runnable
{
    private int num = 100;
    Object obj = new Object();
    public void run()
    {
        while(true)
        {
            synchronized(obj)
            {
                if(num>0)
                {
                    try
                    {
                        Thread.sleep(5);
                    }
                    catch (InterruptedException e){}
                    System.out.println(Thread.currentThread().getName()+"--------->"+num--);
                }
            }
        }
    }
}
class synchronized_safe
{
    public static void main(String[] args)
    {
        ticket t = new ticket();
        Thread t1 = new Thread(t);
        Thread t2 = new Thread(t);
        Thread t3 = new Thread(t);
        Thread t4 = new Thread(t);
        t1.start();
        t2.start();
        t3.start();
        t4.start();
    }
}
每次在cmd上运行这个小类,java synchronized,然后cmd光标就停留在结果后面,前面没有地址了,也不能输入,怎么解决?
搜索更多相关主题的帖子: private Object public 
2013-12-02 16:16
经哥
Rank: 3Rank: 3
来 自:代码空间
等 级:论坛游侠
威 望:1
帖 子:289
专家分:124
注 册:2012-9-8
得分:0 
一般的光标前面不是有 c:\user\用户名(光标),运行完毕后就只有光标还不能运行

我只是个演员,还是业余的!!
2013-12-02 16:18
husiwen
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:2
帖 子:227
专家分:1125
注 册:2010-5-23
得分:10 
public 主类要有
2013-12-02 21:48
经哥
Rank: 3Rank: 3
来 自:代码空间
等 级:论坛游侠
威 望:1
帖 子:289
专家分:124
注 册:2012-9-8
得分:0 
回复 3楼 husiwen
跟这个没关系吧,我试过了,都是一样的

我只是个演员,还是业余的!!
2013-12-02 23:41
java小蚂蚁
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:上海
等 级:贵宾
威 望:18
帖 子:558
专家分:2186
注 册:2013-7-2
得分:10 
你的类名是什么,这个不需要导入包吗?最好还是在myeclipse中运行

学海无涯#¥%……&*(
2013-12-03 11:02
经哥
Rank: 3Rank: 3
来 自:代码空间
等 级:论坛游侠
威 望:1
帖 子:289
专家分:124
注 册:2012-9-8
得分:0 
回复 5楼 java小蚂蚁
知道了,是一个循环,Ctrl+c就解决了。多在Editplus中写代码好一点,免得自己犯小错误

我只是个演员,还是业余的!!
2013-12-04 23:44
kk5158596
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2018-5-17
得分:0 
private int stratNum;
public static int sum;
public  NumAdd(int startNum){
this.stratNum=startNum;
}
public static synchronized void add(int num){
sum+=num;
}
public void run(){
int sum=0;
for(int i=0; i<10; i++){
sum+=(stratNum+i)*stratNum;
}
add(sum);
}
public static void main(String[] args) throws Exception{
for(int i=0;i<5;i++){
NumAdd numAdd=new NumAdd(i*10+1);
numAdd.start();
//线程睡眠1秒中确保线程能够正常运行
Thread.sleep(1000);
}
System.out.println("Sum is:"+sum);
}
我这个编程主类怎么弄的啊
2018-05-17 22:23
kk5158596
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2018-5-17
得分:0 
private int stratNum;
public static int sum;
public  NumAdd(int startNum){
this.stratNum=startNum;
}
public static synchronized void add(int num){
sum+=num;
}
public void run(){
int sum=0;
for(int i=0; i<10; i++){
sum+=(stratNum+i)*stratNum;
}
add(sum);
}
public static void main(String[] args) throws Exception{
for(int i=0;i<5;i++){
NumAdd numAdd=new NumAdd(i*10+1);
numAdd.start();
//线程睡眠1秒中确保线程能够正常运行
Thread.sleep(1000);
}
System.out.println("Sum is:"+sum);
}
我这个编程主类怎么弄的啊
2018-05-17 22:23



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-424572-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.050983 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved