当前位置: 首页 > news >正文

公司培训网站建设包商科技wordpress

公司培训网站建设,包商科技wordpress,大连制作网站企业,大流量ip网站怎么做在使用java多线程时,有三种方式创建线程 复习传送门 当使用继承Thread来实现多线程时, 我们会把线程执行的代码写在run() 方法中, 使用Thread的start()方法来启动一个线程。 代码如下: public class ThreadDemo extends Thread{O…

在使用java多线程时,有三种方式创建线程 复习传送门
当使用继承Thread来实现多线程时,
我们会把线程执行的代码写在run() 方法中,
使用Thread的start()方法来启动一个线程。
代码如下:

public class ThreadDemo extends Thread{@Overridepublic void run() {System.out.println("this is demo thread :"+Thread.currentThread().getName());}public static void main(String[] args) {ThreadDemo t = new ThreadDemo();t.start();System.out.println("this is main thread :"+Thread.currentThread().getName());}
}

执行结果:

this is main thread :main
this is demo thread :Thread-0Process finished with exit code 0

main方法中,为什么不直接 调用 t.run() 来启动线程?
因为t.run()是调用实例方法(会直接在当前线程中执行run中的逻辑),
而start才是启动线程,在新线程中执行run方法里的逻辑。

我们来看看Thread类的 start 方法究竟做了什么?

    public synchronized void start() {if (threadStatus != 0)throw new IllegalThreadStateException();group.add(this);boolean started = false;try {start0();started = true;} finally {try {if (!started) {group.threadStartFailed(this);}} catch (Throwable ignore) {/* do nothing. If start0 threw a Throwable thenit will be passed up the call stack */}}}private native void start0();

可以看到,start() 方法中调用了 start0(),而 start0() 是一个native方法。
native 关键字表示该方法是一个本地方法,java中提供了机制可以调用C的方法,它可以通过动态库加载,可以通过navtive来调用。

Java中的线程,其实是由操作系统来提供的。
在Java高级语言与操作系统之间,是通过JVM来调用的。

线程的启动
start0()是JVM层面实现的方法。
start0() 方法会调用操作系统底层的指令去创建一个线程,并且启动线程。
操作系统通过调度算法,把生成的线程调度,分配给不同的CPU。
操作系统会调用JVM的run,最终调回Java Thread的run方法。
最终使得run中的逻辑在线程中运行。

当线程执行结束后,JVM会完成销毁。

http://www.yayakq.cn/news/243989/

相关文章:

  • 山东省住房和城乡城乡建设厅网站传媒公司主要经营范围
  • 甘肃城乡建设厅网站网站的颜色
  • 重庆网站空间费用高端网站建设企业
  • 淄博三合一网站开发wordpress 清楚jq
  • 榆树市住房和城乡建设局网站公司网站制作苏州
  • 嘉兴网站托管软件开发专业需要学什么
  • 网络运营推广经验长沙网站优化对策
  • 聊城wap网站建设如何在导航网站上做链接
  • 阳泉网站建设费用做购物商城网站建设
  • c 做网站怎么连接到别的网页网站定位的核心意义
  • 打开一张图片后点击跳转到网站怎么做的ps做网站
  • wap网站设计方案专业网站建设公司排名
  • 上海公司详细地址怎么优化网站代码
  • 自己做网站需要什么网站建设原则
  • html成品网站重庆市建设工程信息网安全监督特种作业
  • 贵阳网站建设公司楚天网站建设合同
  • 杭州网站推广方案平台永康医院网站建设
  • 做网站的是什么职位企业建设网站有什么作用
  • 如何进行电子商务网站推广上海建设安全协会官网
  • 网站建设难度大吗菠萝菠萝蜜免费播放视频
  • 沈阳网站改版做电影资源网站违法吗
  • 网站的建设与预算一般的网站是由什么语言做的
  • app做好了网站怎么做南昌房产网信息网
  • 扎区门户网站建设深圳住建厅官方网站
  • 山东网站建设开发外包浏览器打开用dw做的网站说
  • 站酷网怎么样怎样自己做网站赚钱吗
  • 做早餐煲汤网站wordpress cdn 回源量
  • 如何更新网站快照手机开发者选项开启的好还是关闭的好
  • 自己建设一个网站软件怎么创作一个微信小程序
  • 网站维护常识搭建网站软件