java多線程怎么調(diào)用同一個(gè)方法

小億
326
2024-04-12 12:13:56

在Java中,可以通過(guò)創(chuàng)建多個(gè)線程對(duì)象來(lái)調(diào)用同一個(gè)方法。以下是一個(gè)簡(jiǎn)單的示例代碼:

public class MyThread extends Thread {
    
    public void run() {
        myMethod();
    }
    
    public void myMethod() {
        synchronized(this) {
            // 同步代碼塊,確保多個(gè)線程調(diào)用同一個(gè)方法時(shí)能夠保證線程安全
            System.out.println("Thread " + Thread.currentThread().getName() + " is calling myMethod");
        }
    }
    
    public static void main(String[] args) {
        MyThread thread1 = new MyThread();
        MyThread thread2 = new MyThread();
        
        thread1.start();
        thread2.start();
    }
}

在上面的示例中,我們創(chuàng)建了一個(gè)MyThread類,該類繼承自Thread類,并且重寫(xiě)了run()方法和myMethod()方法。在main()方法中,我們分別創(chuàng)建了兩個(gè)MyThread線程對(duì)象,并調(diào)用它們的start()方法來(lái)啟動(dòng)線程,從而調(diào)用myMethod()方法。由于myMethod()方法中包含了一個(gè)同步代碼塊synchronized(this),因此可以確保多個(gè)線程調(diào)用同一個(gè)方法時(shí)能夠保證線程安全。

通過(guò)這種方式,我們就可以實(shí)現(xiàn)多個(gè)線程調(diào)用同一個(gè)方法的功能。

0