双11狂欢大促

盲盒赢 定制羽绒服

开启惊喜盲盒,抽取你的专属好礼

— 惊喜奖品抢先看 —

关于Thread的一个问题,麻烦大家帮帮忙。

iaiti iaiti 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
public class TestSync implements Runnable {
Timer timer = new Timer();
public static void main(String[] args) {
TestSync test = new TestSync();
Thread t1 = new Thread(test);
Thread t2 = new Thread(test);
t1.setName("t1");
t2.setName("t2");


t2.start();
t1.start();
}
public void run(){
timer.add(Thread.currentThread().getName());
}
}

class Timer{
private static int num = 0;
public synchronized void add(String name){
//synchronized (this) {
num ++;
try {Thread.sleep(1);}
catch (InterruptedException e) {}
System.out.println(name+", 你是第"+num+"个使用timer的线程");
//}
}
}
test指向new出来的TestSync对象,在TestSync里面,作为成员变量,time引用指向新new出来的Timer对象,请问为什么会这样。
为什么Timer timer = new Timer();放在外面,
Timer timer = new Timer();
public static void main(String[] args) {
TestSync test = new TestSync();
Thread t1 = new Thread(test);就是这一部分看不懂!!!!!!!!!!
而且已第一个类来new对象也很少见,王高手指点。
...全文

相关推荐

评论 2
收藏 已收藏
分享
返回顶部
iaiti
iaiti 优质创作者: Java技术领域 优质创作者: Java技术领域领域专家: 后端开发技术领域 领域专家: 后端开发技术领域
Java SE 62,621 成员 307,251 内容