首页 > 技术文章 > 项目开发中如何使用多线程

lanxinren 2021-04-20 15:30 原文

项目中如何使用多线程

  • 在学习多线程阶段,我们都是在要实现多线程的类上实现多线程接口(Thread,Runnable等),这样代码耦合性太高。
  • 在项目中我们的资源类不需要实现多线程接口,只需要对应的属性和方法即可。(这就叫OOP编程)然后在线程体里面去操作资源类中的方法即可。

示例:采用lambda反射编写

public class ThreadExample02 {
    public static void main(String[] args) {
        Ticket ticket = new Ticket();
        new Thread(()->{
            for (int i = 0; i < 20; i++) {
                ticket.sellTicket();
            }
        },"A电影院").start();
        new Thread(()->{
            for (int i = 0; i < 20; i++) {
                ticket.sellTicket();
            }
        },"B电影院").start();

    }
}
//资源类不需要在继承多线程接口,降低耦合性。
class Ticket {
    //票的总数量
    int number = 20;

    //卖票
    public synchronized void sellTicket() {
        if (number > 0) {
            System.out.println(Thread.currentThread().getName() + "卖出了第" + (number--) + "张票,还剩余" + number + "张票");
        }
    }
}

推荐阅读