本文主要是介绍并发线程基础(一),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
一、多个线程多个锁(lock)
概念:每个线程拿到自己的锁之后,获取线程锁之后,执行synchronized方法内的内容。
(一)synchronized 重入
概念:我比较喜欢通过自己的语言去记住和简化概念,重入:也叫“递归锁”,指同一个线程的外层方法获得锁之后,该方法里面调用修饰锁的方法,仍然可以获取锁,相互不受影响的。
语言话:同个类中带synchronized的方法里面能调用另外修饰的synchronized方法;流程是不会受影响的。
*** * @author FuLX* @2017-7-4 下午4:25:45*/
public class Reentrant {/*添加synchronized修饰*/public synchronized void function_01() {System.out.println("------function_01-------");function_02();}public synchronized void function_02() {System.out.println("------function_02-------");function_03();}public synchronized void function_03() {System.out.println("------function_03-------");}public static void main(String[] args) {final Reentrant rt = new Reentrant();/*实例个对象*/Thread thread = new Thread(new Runnable() { /*创建线程*/@Overridepublic void run() {rt.function_01();}});thread.start();/*启动线程*/}}
结果输出:
------function_01-------
------function_02-------
------function_03-------
这篇关于并发线程基础(一)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!