六、java线程及多线程

    xiaoxiao2021-03-25  115

    线程:执行路径

    进程:程序加载到内存

    一、java线程的创建方式

    1、继承Thread类,重写run方法,使用的时候直接创建子类对象,调用子类对象的start方法即开启线程。注:sleep方法是Thread类的一个成员方法,并且在Runnable接口中不存在sleep方法

    2、实现Runnable接口,重写run方法,在使用的时候先创建实现类的对象,再以这个实现类对象作为Thread构造函数的参数创建一个Thread对象,使用这个thread对象调用start方法开启线程。注:直接调用Runnable实现类对象的run方法时不是开启线程,只是这个实现类run方法的一次调用。

    3、Runnable r1=new Runnable(){void run(){//do something}};Thread t1=new Thread(r1);t1.start();

    二、线程同步的两种方式 synchronized

    1、使用synchronized修饰run方法 public synchronized void run(){}

    2、使用synchronized代码块包裹run方法中的关键执行代码

    eg:

    synchronized (this) { while(true){ if(ticket>0){ System.out.println(Thread.currentThread().getName()+":"+this.ticket--); } else { break; } } }

    转载请注明原文地址: https://ju.6miu.com/read-10444.html

    最新回复(0)