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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

Thread.start ()方法(native)启动线程,使之进入就绪状态,当 cpu 分配时间该线程时,由 JVM 调度执行 run ()方法。

网上这样说,但是感觉native方法怪怪的,谁能帮忙解释一下?我们有必要去深入的了解native方法吗?

评分

参与人数 1技术分 +1 收起 理由
冯海霞 + 1

查看全部评分

5 个回复

倒序浏览
线程Thread正常启动就是由start()开启的,run()只是线程接口中必须需要复写的一个方法。
native 至于 这个方法 ,native应该是JAVA的关键字吧,不常用,应该是解释在本地只调用方法的 关键字,是和C 互洽的一个关键字、
底层在处理线程时,多少和native本地调用 有关系。

评分

参与人数 1技术分 +1 收起 理由
冯海霞 + 1

查看全部评分

回复 使用道具 举报
native是调用windows底层的代码,是不可见的,也就是使用windows来执行
回复 使用道具 举报
杨芳 来自手机 中级黑马 2013-2-5 06:58:32
板凳
谁调用他,就由谁执行。来自: Android客户端
回复 使用道具 举报
  1. 线程中的start()方法有两个作用
  2. 启动线程
  3. 调用线程中的run方法 执行run方法
  4. 而Thread.run() 只是对象调用,只执行线程中的run方法中的代码,而不启动线程。
  5. 其实java启动线程时它是调用了系统(本地)的程序来启动一个新的线程。
  6. 在java中的Thread类的start方法就使用了native关键字,因为java启动线程这个任务是用操作系统来完成的
复制代码

评分

参与人数 1技术分 +1 收起 理由
冯海霞 + 1

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马