介绍
小编给大家分享一下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 结束==falsethread1在1秒之后执行完成。所以输出结果为假。并且Thread.currentThread()和这是同一个对象,可以理解成执行当前运行方法的线程对象就是我们自己(这个)。
如果将线程对象以构造参数的方式传递给线程对象进行开始()启动时,运行结果和前面实例是有差异的。造成这样的差异的原因还是来自于Thread.currentThread()和这的差异。
开始==false .isAlive运行方法的打印Thread.currentThread () ()==true 运行方法的打印this.isAlive ()==false 运行方法的打印Thread.currentThread ()====false 结束==falseThread.currentThread () .isAlive()是真正的原因是因为,Thread.currentThread()返回的是线程对象,而我们也是通过此对象来启动线程的,所以是在活动状态。
this.isAlive()是假的就比较好理解了,因为我们是通过线程对象启动的线程来执行运行方法的。所以它是假的。同时也说明这两个不是同一个对象。
睡眠方法
在指定的毫秒数内让当前“正在执行的线程“;休眠。“正在执行的线程“;只得是<代码> Thread.currentThread() 代码>返回的线程。
java多线程的基础知识有哪些