进程和线程

多线程

并行和并发

并行:同一时刻多个任务同时执行

并发:一段时间内存在多个任务,多个任务交替执行

进程和线程

进程:是指正在运行的程序。有以下三个特点:

  • 当程序一运行就会产生一个进程
  • 每一个进程都有一个自己独立的一块内存空间
  • 每一个进程的内部数据和状态都是完全独立的

线程:进程中执行运算的最小单位,一个进程执行过程中可以产生多个线程,线程必须在某个进程中执行

  • 一个进程中至少要有一个线程
  • 资源分配给进程,同一进程的所有线程共享该进程的所有资源
  • 真正在处理器上运行的是线程

使用Thread类创建线程

  • 继承Thread类

  • 重写run( )方法

  • 通过调用start( )方法来启动一个新的线程

    当启动一个新的线程之后,子线程的run方法运行,主线程的main方法继续运行,形成了run( ) 和main( ) 并行的局面

    Thread.currentThread( ).getName()获取当前线程的名称

public class Demo01{
    public static void main(String[] args){
        MyThread Thread=new MyThread();
        Thread.setName("子线程")
        Thread.start() //开启一个新的线程
    }
}
class MyThread extends Thread{
    //重写run() 方法
    public void run(){
        for (int i=0;i<100;i++){
            System.out.println(Thread.currentThread().getName()+"运行"+i+"次");
        }
    }
}

使用Runnable接口来创建线程

  • 实现runnable接口
  • 重写run 方法
  • 构建Thread对象传递Runnable对象
  • 调用start() 方法开启一个新的线程
public class Demo02{
    public static void main(String[] args){.
        MyRunnable Runnable=new MyRunnable();
        Thread thread = new Thread(Runnable);
        thread.setName("子线程");
        thread.start();
        
    }
}
class MyRunnable implements Runnable{
    public void run(){
        for(int i=0;i<10;i++){
            System.out.println(Thread.currentThread().getName()+"运行了"+i+"次")
        }
    }
}

Callable接口

  • 实现Callable接口,
  • 重写call方法,
  • 构建FutureTask对象传递Callable对象,
  • 构建Thread对象传递的FutureTask对象,
  • 通过start启动线程。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值