A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

创建线程
1、定义Thread子类
2、复写run()方法
3、调用start()启动线程,并执行run()方法
之所以要在start()中调用run(),而不是直接run(),我想应该是JVM在start()中做了额外的工作,
比如调用操作系统函数,建立线程,排在队列中之类,然后再调用run()
那么问题来了,为什么JVM不能在编译的时候直接在run()方法内部添加这些代码呢?非要再来个start()
,似乎有点多此一举啊?

1 个回复

倒序浏览
有没有可能是JAVA设计者们故意的,留下可以单独运行run()的方式,并不在系统中创建线程
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马