这里是一个简单的Java多线程代码段,使用同步块来确保线程安全:

public class SynchronizedThread implements Runnable {
    private int count;

    public void run() {
        synchronized (this) {
            for (int i = 0; i < 5; i++) {
                System.out.println(Thread.currentThread().getName() + ": " + count);
                count++;
                try {
                    Thread.sleep(100);
                } catch (InterruptedException e) {
                    e.printStackTrace();
                }
            }
        }
    }

    public static void main(String[] args) {
        SynchronizedThread synchronizedThread = new SynchronizedThread();
        Thread thread1 = new Thread(synchronizedThread);
        Thread thread2 = new Thread(synchronizedThread);
        thread1.start();
        thread2.start();
    }
}

在这个例子中,我们创建了一个名为SynchronizedThread的类,它实现了Runnable接口,并覆盖了run()方法。在run()方法中,我们使用同步块来确保线程安全。synchronized关键字将代码块标记为同步,并使用this作为互斥锁对象。

我们还创建了两个线程thread1和thread2,它们共享同一个SynchronizedThread实例,并同时运行。由于我们使用了同步块,这两个线程在访问共享变量count时不会发生竞争条件

请编写一个有同步块的Java多线程代码

原文地址: https://www.cveoy.top/t/topic/frTo 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录