多线程学习记录

本文介绍了Java中实现多线程的两种方法:继承Thread类和实现Runnable接口,并通过示例代码详细展示了这两种方法的具体应用。此外,还探讨了多线程的优势及线程执行顺序的不确定性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

多线程

Java 的多线程就是一个类,这个类可以对它的线程进行控制;
作用:

  1. 多线程比多进程具有绝对优势
  2. 提高处理机与设备的平行性
  3. 可提高资源的利用率与进程推进速度

怎么写一个多线程

  1. 方法1:构建Thread子类对象
    基础Thread类后,重写他的run方法
    运行该线程的方法就是先引入其对象,在调用其中的start()方法
    public class Example extends Thread {
        run() {
            for(int i=0;i<6;i++) {
            System.out.println(i+" ");
            }
        }
    }
    public class Main {
        public static void main(String[] args) {
            Example e = new Example();
            e.start();
        }
    }  
  1. 方法2:实现Runnable接口
    Runnable接口只有一个抽象方法:
    public abstract void run();
    
    例子:
     public class Example implements Runnable {
         run() {
             for(int i=0;i<6;i++) {
             System.out.println(i+" ");
             }
         }
     }
     public class Main {
         public static void main(String[] args) {
             Runnable e = new Example();
             e.start();
         }
     }   
    
    注意:
    1. 当多个线程同时进行时,你无法确保各个线程的先后。所以当以上Example同行进行时,打印出来就几乎不可能是多个0~~5;可能先出来几个0,再出来一个1,再出来2或有再打印1,线程的先后是很难控制的。
      个0~5;可能先出来几个0,再出来一个1,再出来2或有再打印1,线程的先后是很难控制的。
    2. 为什么重写run()方法但却执行start()方法,如果你执行run()方法,那么就没有实现多线程,而是一个单线程而已。具体要去看”线程生命周期与线程状态
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值