欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

java个人笔记之 i++ 线程不安全

程序员文章站 2022-07-14 10:41:07
...

public class Test {

	static int i = 0;
	
	public static void main(String[] args) {
		test1();
		//test2();
	}
	
	/**
	 * 不加锁
	 */
	public static void test1() {
		for (int j = 0; j < 100; j++)
			new Thread(() -> {try {
				Thread.sleep(1000);
			} catch (InterruptedException e) {
				e.printStackTrace();
			}
			System.out.println(i++);}).start();
	}

	/**
	 * 加锁
	 */
	public static void test2() {
		for (int j = 0; j < 100; j++)
			new Thread(() -> {try {
				Thread.sleep(1000);
			} catch (InterruptedException e) {
				e.printStackTrace();
			}
			synchronized (Test.class) {System.out.println(i++);}}).start();
	}
	
}

 

相关标签: 线程安全