java多线程的基础知识有哪些

  介绍

小编给大家分享一下java多线程的基础知识有哪些,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获、下面让我们一起去了解一下吧!

<强> java主线程名

我们启动的一个程序可以理解为一个进程,一个进程中包含一个主线程,线程可以理解为一个子任务。Java中可以通过下面代码来获取默认的主线程名。

公共类Thread1延伸线程{
  @Override
  公共空间run () {
  System.out.println (“qwe");
  }
  }

2。实现运行的接口

公共类Thread2实现Runnable {   @Override   公共空间run () {   System.out.println (“asd");   }   }
线程实现运行的接口。并且多线程运行时,代码的执行顺序与调用顺序是无关的。另外如果多次调用开始方法则会抛出. lang。IllegalThreadStateException

currentThread方法

返回当前代码正在被哪个线程调用。

 Thread1 Thread1=new Thread1 ();
  thread1.start (); 

isAlive方法

判断当前线程是否处于活动状态。

 
开始==false
  .isAlive运行方法的打印Thread.currentThread () ()==true
  运行方法的打印this.isAlive ()==true
  运行方法的打印Thread.currentThread ()====true
  结束==false 

thread1在1秒之后执行完成。所以输出结果为假。并且Thread.currentThread()和这是同一个对象,可以理解成执行当前运行方法的线程对象就是我们自己(这个)。

如果将线程对象以构造参数的方式传递给线程对象进行开始()启动时,运行结果和前面实例是有差异的。造成这样的差异的原因还是来自于Thread.currentThread()和这的差异。

开始==false
  .isAlive运行方法的打印Thread.currentThread () ()==true
  运行方法的打印this.isAlive ()==false
  运行方法的打印Thread.currentThread ()====false
  结束==false 

Thread.currentThread () .isAlive()是真正的原因是因为,Thread.currentThread()返回的是线程对象,而我们也是通过此对象来启动线程的,所以是在活动状态。

this.isAlive()是假的就比较好理解了,因为我们是通过线程对象启动的线程来执行运行方法的。所以它是假的。同时也说明这两个不是同一个对象。

睡眠方法

在指定的毫秒数内让当前“正在执行的线程“;休眠。“正在执行的线程“;只得是<代码> Thread.currentThread() 返回的线程。

java多线程的基础知识有哪些