Topic: 学习中遇到了些问题,求救各位(线程)

  Print this page

1.学习中遇到了些问题,求救各位(线程) Copy to clipboard
Posted by: zhouye19
Posted on: 2005-08-05 16:29

请使用准确的文字描述作为标题


不好意思,可能列的问题简单了些,还望大家赐教

1。关于线程,假如有两个线程,th1,th2,如果th1.start(); th2.start();我知道他们是通知两个线程进入了可执行状态,而th1.run();th2.run();则是进入了执行状态,一般不是说线程进入可执行状态的时候他的结果应该是不可预知的是吧,具体的说也不知道他是什么时候执行,但在如下主函数中
class....
{
th1.start();
th2.start();
public static void main(String args[])
{
System.out.println(".....");
........
}
}
我觉得本来线程就有不确定的结果,但为什么main里的那句输出比th1,th2,中的输出先执行,但我一把start改成run().则一定是th1,th2中的输出先执行,再执行main中的输出。而且我把th1.start()和th2.start()换个先后顺序输出结果也不同。我想知道究竟start在程序中究竟是什么时候开始执行。还是需要用join来执行?

2。还有我不太明白instanceof的具体用法。
if(A instanceof B)中,只要A对象属于B,B是A的类和父类都TRUE?
不是有种
MM n=new BB(); BB属于MM的子类,此时这个n对象应该是BB类的对象吧,虽然他是按照父类MM的内存存储的,此时用 n instanceof MM 是 true or false?
我们老师说此时应该是false,结果运行的结果是 true.他不能判断象n这样的对象吗?instanceof究竟的作用是什么呢?


   Powered by Jute Powerful Forum® Version Jute 1.5.6 Ent
Copyright © 2002-2021 Cjsdn Team. All Righits Reserved. 闽ICP备05005120号-1
客服电话 18559299278    客服信箱 714923@qq.com    客服QQ 714923