多线程的创建

痛定思痛。 2024-03-16 16:44 122阅读 0赞

线程创建的三种方式

  • 1.继承Thread类
  • 2.实现Runnable接口
  • 3.匿名内部类/Lambda方式创建(常用)
  • 1.
  • 2.
  • 3.

1.继承Thread类

2.实现Runnable接口

3.匿名内部类/Lambda方式创建(常用)

1.

  1. public class MyThread {
  2. public static void main(String[] args) {
  3. Thread t=new MyThread();//创建MyThread线程对象
  4. // 调用start()方法启动多线程
  5. t.start();//调用start()方法启动线程(实际执行的还是run()方法)
  6. //注意:子线程一定要放在主线程之前,不然先跑主线程还是会被当做是单线程
  7. for (int i = 0; i < 6; i++) {
  8. System.out.println("主线程执行:"+i);
  9. }
  10. }
  11. }
  12. //继承Thread类创建多线程,优点:代码简单。
  13. // 缺点:线程类已经继承Thread类,无法继承其他类,不利于扩展
  14. class MyThread extends Thread{
  15. //继承Thread类,重写其中的方法即可实现多线程
  16. //重写run()方法
  17. public void run(){
  18. for (int i = 0; i < 6; i++) {
  19. System.out.println("子线程执行:"+i);
  20. }
  21. }
  22. }

2.

  1. class MyThread{
  2. public static void main(String[] args) {
  3. //创建一个任务对象
  4. Runnable r=new MyRunnable();
  5. //把任务对象交给Thread处理
  6. Thread t=new Thread(r);
  7. t.start();//调用start()方法启动线程(实际执行的还是run()方法)
  8. //注意:子线程一定要放在主线程之前,不然先跑主线程还是会被当做是单线程
  9. for (int i = 0; i < 5; i++) {
  10. System.out.println("主线程执行:"+i);
  11. }
  12. }
  13. }
  14. //优点:只是实现接口,可以继续继承类和实现接口,扩展性强
  15. // 缺点:多一层对象包装,如果线程有执行结果,是不可以直接返回的
  16. class MyRunnable implements Runnable{
  17. //实现Runnable接口,重写其中的方法即可实现多线程
  18. public void run(){
  19. for (int i = 0; i < 5; i++) {
  20. System.out.println("子线程执行:"+i);
  21. }
  22. }
  23. }

3.

  1. class MyThread{
  2. //实现Runnable接口,用匿名内部类的方式(另一种语法形式)
  3. public static void main(String[] args) {
  4. new Thread(()->{
  5. for (int i = 0; i < 5; i++) {
  6. System.out.println("子线程执行:"+i);
  7. }
  8. }).start();
  9. for (int i = 0; i < 5; i++) {
  10. System.out.println("主线程执行:"+i);
  11. }
  12. }
  13. }

发表评论

表情:
评论列表 (有 0 条评论,122人围观)

还没有评论,来说两句吧...

相关阅读

    相关 线】——Callable创建线

        之前小编的博客简单介绍了两种创建线程的方式,随着小编工作过程对这一部分的深入,对这一部分有更深入的理解,也知道其他创建多线程方式,在原来的基础在深入一下! 回顾

    相关 线创建

    多任务可以由多进程完成,也可以由一个进程内的多线程完成 进程是由若干线程组成的,一个进程至少有一个线程 启动一个线程就是把一个函数传入并创建`Thread`实例,然后调用`

    相关 线 线创建

    一简介 线程的使用在java中占有极其重要的地位,在jdk1.4极其之前的jdk版本中,关于线程池的使用是极其简陋的。在jdk1.5之后这一情况有了很大的改观。Jdk1.