synchronized的实现原理是什么呢?
转自:
http://www.java265.com/JavaMianJing/202204/16506869003046.html
多线程简介:
多线程(multithreading),是指从软件或者硬件上实现多个线程并发执行的技术。具有多线程能力的计算机因有硬件支持而能够在同一时间执行多于一个线程,进而提升整体处理性能。具有这种能力的系统包括对称多处理机、多核心处理器以及芯片级多处理或同时多线程处理器。在一个程序中,这些独立运行的程序片段叫作“线程”(Thread),利用它编程的概念就叫作“多线程处理”
线程是为了同步完成多项任务,不是为了提高运行效率,而是为了提高资源使用效率来提高系统的效率。线程是在同一时间需要完成多项任务的时候实现的
下文讲述synchronized的实现原理简介说明,如下所示:
synchronized功能
synchronized关键字的功能: 用于保证同一时刻只有一个线程可访问synchronized中的代码,同时保证共享变量的内存可见性
synchronized实现原理
普通同步方法: 锁是当前实例对象 静态同步方法: 锁是当前类的class对象 同步方法块: 锁是括号里面的对象