多线程
苦思冥想行则将至
分享下心得!加油,会越来越好的!让这世界更加美好我们一起努力!
展开
-
Thread同一个线程进行加锁控制执行顺序synchronized加锁对类的对象进行加锁保证执行原子性,达到保证顺序性的要求
public class Sync04 { public synchronized void a() { System.out.println("执行 b 方法"); b(); } public synchronized void b() { System.out.println("执行c 方法"); c(); } public synchronized void c() { System.out.println("悟空是只猴子"); } public stat..原创 2020-06-24 14:10:45 · 336 阅读 · 0 评论 -
Thread多线程进行加锁控制执行顺序synchronized加锁对类的对象进行加锁保证执行原子性,达到保证顺序性的要求
package com.tl.executor.locks;public class Sync03 implements Runnable { static int i = 0; @Override public void run() { for (int j = 0; j < 100000; j++) { synchronized (Sync03.class) { i++; } } System.out.println(Thread.currentT.原创 2020-06-22 14:36:37 · 472 阅读 · 0 评论 -
Thread多线程进行不加锁控制执行顺序适用volatile关键字,不能保证执行结果的原子性,本地加载的无序发生争抢导致
package com.tl.executor.locks; public class Sync02 implements Runnable{ static volatile int i=0; @Override public void run() { for (int j=0;j<100000;j++){ add(); System.out.println(Thread.currentThread().ge.原创 2020-06-22 14:25:49 · 348 阅读 · 0 评论 -
Thread多线程进行加锁控制执行顺序synchronized保证执行原子性
package com.tl.executor.locks; public class Sync01 implements Runnable{ static int i=0; @Override public void run() { for (int j=0;j<10;j++){ synchronized (Sync01.class) { i++; System.out.原创 2020-06-22 14:22:16 · 730 阅读 · 0 评论