項目開發中如何使用多線程


項目中如何使用多線程

  • 在學習多線程階段,我們都是在要實現多線程的類上實現多線程接口(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 + "張票");
        }
    }
}


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM