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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 yjsf216 于 2015-3-9 21:45 编辑

线程中,使用Runnable定义的子类中没有start()方法,为什么可以调用呢?

3 个回复

倒序浏览
他不可以直接调用Start方法,而是先创建Thread对象在用此对象调用start方法开启线程
回复 使用道具 举报
楼主说的是线程创建的第二种方式,实现Runnable接口吧? 这个是将Runnable的子类对象作为参数传递给Thread构造方法,通过Thread类对象调用start()方法
回复 使用道具 举报
Ticket t = new Ticket();Thread t1 = new Thread(t); t1.start();第一句就是创建一个Ticket()对象,第二句将t作为Thread类的构造函数的实际参数传入,其实就是把线程对象和t之间关联关联起来,告诉线程要实现的run方法是哪里来的,所以可以调用啊
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马