当前位置: 技术问答>java相关
关于线程,请帮忙
来源: 互联网 发布时间:2015-04-08
本文导语: public void go() { while (true) { try { Thread.sleep(100); } catch(InterruptedException e) { System.err.println("Interrupted"); } if (runFlag) t.setText(Integer.toString(c...
public void go() {
while (true) {
try {
Thread.sleep(100);
} catch(InterruptedException e) {
System.err.println("Interrupted");
}
if (runFlag)
t.setText(Integer.toString(count++));
}
这是thinking in java里的线程的第一个例子
sleep到底起什么作用??main运行时创建了一个thread
调用go时,本线程“睡眠“100毫秒,此后进行
if (runFlag)
t.setText(Integer.toString(count++));
判断,所以我觉得在那个框里应该有数字显示阿??请问我的理解错在哪里??
而无法响应其他事件,这四可以理解的,因为是死循环
while (true) {
try {
Thread.sleep(100);
} catch(InterruptedException e) {
System.err.println("Interrupted");
}
if (runFlag)
t.setText(Integer.toString(count++));
}
这是thinking in java里的线程的第一个例子
sleep到底起什么作用??main运行时创建了一个thread
调用go时,本线程“睡眠“100毫秒,此后进行
if (runFlag)
t.setText(Integer.toString(count++));
判断,所以我觉得在那个框里应该有数字显示阿??请问我的理解错在哪里??
而无法响应其他事件,这四可以理解的,因为是死循环
|
如果是一个方法被同步了,可以理解为对象被lock了,这像数据库中的一个事务一样它必须被执行完后,才能执行下一次,同步的对象会被当前线程“上锁”,当它执行完后才能被其它线程访问。
对于run()有一些特别。我试了一下这个线程本身被lock了。
ps:在这个贴子的外面按“管理”
对于run()有一些特别。我试了一下这个线程本身被lock了。
ps:在这个贴子的外面按“管理”