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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 我想努力半年 中级黑马   /  2015-4-24 13:51  /  397 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

为什么启动线程不是调用run()方法,而是调用start()?

4 个回复

倒序浏览
本帖最后由 大西洋 于 2015-4-24 15:07 编辑

run()方法体只会在单一的线程中运行,而不能并行的开启另一条线程,这样就是失去了多线程的意义~

start()方法会在内存中开启一条新的线程,来并行执行 run() 方法中的内容~ 同时处理多种可能性,这才是Thread的用处所在~
回复 使用道具 举报
因为系统底层开辟新线程的资源在start()方法内啊
回复 使用道具 举报
run()是线程执行时要执行的,start是启动线程
回复 使用道具 举报
run是执行的函数,start才是启动的方法
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马