class MyThread implements Runnable // 实现Runable接口
{
public void run() //重写run()方法
{
for(int i=0;i<3;i++)
{
System.out.println(Thread.currentThread().getName()+"运行,i="+i);
}
}
}
public class CurrentThreadDemo
{
public static void main(String args[])
{
MyThread a=new MyThread(); //创建对象
new Thread(a,"张三").start(); //启动线程
a.run(); //运行的是Main的线程
}
}
我想问为什么继承Runable接口的类a的线程与a.run()调用的主方法的线程抢CPU,前者抢不过后者。???明明先执行的start()执行起来。。却在main()方法的后面请各位大哥帮忙助呀!!!
{
public void run() //重写run()方法
{
for(int i=0;i<3;i++)
{
System.out.println(Thread.currentThread().getName()+"运行,i="+i);
}
}
}
public class CurrentThreadDemo
{
public static void main(String args[])
{
MyThread a=new MyThread(); //创建对象
new Thread(a,"张三").start(); //启动线程
a.run(); //运行的是Main的线程
}
}
我想问为什么继承Runable接口的类a的线程与a.run()调用的主方法的线程抢CPU,前者抢不过后者。???明明先执行的start()执行起来。。却在main()方法的后面请各位大哥帮忙助呀!!!
解决方案 »
- java中+=运算符问题
- eclipse 输入下面内容怎么 len = -1
- 请教高手:java如何得到xp当前系统所有窗口
- 有个北软教育培训的,在方圆大厦7层,大哥大姐们,您们有培训过的吗?感觉怎么样呀
- 关于Class.forName的问题!急死我了!
- 关于如何在JTextField中输出从JList中选取的内容?
- 請教如何得到一個子符的內碼.
- jbuilder8保存文件时总是产生许多:jsp.jsp~1~ jsp.jsp~2~ jsp.jsp~3~,......
- 如何实现连接一次数据库,提交多个sql语句。(sql的批处理)
- 讨论。SL285, SL275...
- 菜鸟求助异常小问题!!
- java 打印输出乱,以及Ajax输出乱码问题
楼主可以让主线程在“张三”start()后,休眠一会儿,Thread.sleep(n); n 选几个数比如,1,2,5,10,20,分别运行,再观察结果。
interrupt //强制终止线程
setName //设置线程名称
getName //取得线程名称
currentThread //当前线程
isAlive //线程状态
sleep //线程休眠
join //强制运行该线程
MAX_PRIORITY MIN_PRIORITY NORM_PRIORITY //线程的优先级
synchronized 同步操作 // 线程有2种启动方式
实现Runnable 接口 和 继承 Thread 类
通常情况下 一般使用继承接口
因为接口可以被 多实现
并且 实现接口 可以共享资源 使程序更安全 更健壮
希望对楼主学习线程 有帮助
这个可以试试看,然后我想说的是线程是有优先权的,跟具体的调用过程有关,还有主线程永远是优先于其他线程的,这个意思是如果线程被kill掉 ,主线程是最后一个beikill的