线程创建的两种方式:第一种:
继承Thread,重写run方法,然后使用start启动线程


![]()
线程创建的两种方式:第二种
实现runnable接口,也是重写run方法,但是需要自己创建一个线程,然后将这个对象传给线程

大概分了有这么三步

线程创建的两种方式,两者的比较
实现Runnable与继承Thread相比有如下优势:
1.通过创建任务,然后给线程分配的方式来实现的多线程.更适合多个线程同时执行相同任务的情况
2. 可以避免单继承所带来的局限性.
3. 任务与线程本身是分离的,提高了程序的健壮性.
4.后续学习的线程池技术,接受Runnable类型的任务,不接收Thread类型的线程|
JDK 11.0的 Thread 类


获取线程的名称

、
如何终止线程?
线程在调用Sleep的方法的时候,就可能会出现异常,我们使用Try-Catch就可以抛出异常

这里抛出的异常是
InterruptedException
点开进去看源码,在这里显示了一种标记,中断标记,还有其他标记 比如 等待和休眠。
当发现有中断标记的时候,就会进入到catch语句,我们就可以在这里直接返回return,结束run方法,就相当于结束了该线程

主函数中

值得强调的是:使用interrupt中断,只是会让线程进入catch语句块,并不会死亡。是因为我们在catch语句块里面加了内容return,才导致了线程的死亡的
本文介绍了线程创建的两种主要方式:继承Thread类与实现Runnable接口,并对比了这两种方式的优势。此外,还详细讲解了如何通过中断线程来终止线程运行。

1559

被折叠的 条评论
为什么被折叠?



