更新时间:2023年04月07日11时11分 来源:传智教育 浏览次数:
Java的线程可以使用同步机制来确保彼此同步。同步机制可以使用关键字synchronized来实现。
具体来说,可以将需要同步的代码块包含在synchronized关键字的大括号中,以确保同一时刻只有一个线程可以访问该代码块。在Java中,每个对象都有一个锁,可以使用synchronized关键字获取该对象的锁。
下面是一个简单的Java代码示例,演示了如何使用synchronized关键字来同步线程:
public class SynchronizedExample { public synchronized void printNumbers() { for (int i = 0; i < 5; i++) { System.out.println(Thread.currentThread().getName() + ": " + i); } } public static void main(String[] args) { final SynchronizedExample example = new SynchronizedExample(); Thread thread1 = new Thread(new Runnable() { public void run() { example.printNumbers(); } }, "Thread 1"); Thread thread2 = new Thread(new Runnable() { public void run() { example.printNumbers(); } }, "Thread 2"); thread1.start(); thread2.start(); } }
在这个示例中,SynchronizedExample类定义了一个名为printNumbers的同步方法。该方法使用synchronized关键字修饰,以确保在任何时候只有一个线程可以访问它。
main方法创建了两个线程,每个线程都会调用printNumbers方法。由于该方法是同步的,因此只有一个线程可以同时访问它。这就确保了线程之间的同步。
请注意,这个示例只是演示了同步的基本概念。在实际应用中,需要更加细致地考虑同步机制的实现和效率。