![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java多线程
文章平均质量分 95
超大充电宝
这个作者很懒,什么都没留下…
展开
-
【Java多线程】ReentrantLock
文章目录ReentrantLockReentrantLock(类)与synchronized(关键字)的区别ReentrantLock的使用重入锁与不可重入锁公平锁非公平锁生产者消费者模型ReentrantLock在实现线程同步时,大多情况下使用的是Synchronized关键字实现,但是Synchronized的锁太过封闭,获得锁和释放锁都是系统自动的。所以为了更灵活的操作,在JDK1.5版本之后,就诞生了Lock接口以及其实现类ReentrantLock。lock接口也是对资源上锁的一种工具,它原创 2021-02-05 00:46:31 · 500 阅读 · 1 评论 -
【Java多线程】并发编程
文章目录1、什么是并发编程2、并发编程的特性(1)原子性(2)可见性(3)有序性3、线程同步问题(1)为什么需要同步(2)临界资源和临界区(3)银行叫号4、Synchronized关键字(1)Synchronized的使用Synchronized同步代码块Synchronized同步普通方法Synchronized同步静态方法1、什么是并发编程并发编程是为了提高程序的执行速度,在宏观上市的多个任务同时执行,则需要启动多个线程,但事实启动多个线程之后,不管针对单核cpu还是多核cpu线程进行上下文切换,原创 2021-02-01 02:00:02 · 413 阅读 · 0 评论 -
【Java多线程】线程的生命周期和常用方法
文章目录1、线程的状态2、线程间的状态转化3、线程常用方法(1)start()(2)sleep()(3)yield()(4)join()(5)interrupt()(6)Priority(7)wait()/notify()/notifyAll()4、线程调度1、线程的状态Java中线程的状态由6种,Thread类中的内部类State来体现public enum State { NEW, RUNNABLE, BLOCKED, WAITING, TIMED_WAI原创 2021-02-01 00:47:27 · 435 阅读 · 0 评论 -
【Java多线程】线程的基本认识与创建
文章目录1、进程和线程的认识2、多线程和多进程的区别和联系3、并发和并行的区别4、线程的创建(1)继承Thread类(2)实现Runnable接口(3)实现Callable接口实现Runable接口和继承Thread类的区别Callable和Runable接口区别5、start()方法和run()方法的区别6、守护线程1、进程和线程的认识进程:进程就是计算机正在进行的一个独立的应用程序,进程是一个动态的概念,必须是进行状态,如果一个应用程序没有启动,那就不是一个进程。进程是程序执行过程中资源分配原创 2021-01-29 02:29:26 · 379 阅读 · 0 评论 -
ConcurrentHashMap剖析
文章目录12、并发集合类:ConcurrentHashMap源码分析(JDK1.7)继承关系构造函数属性和默认值常用方法的源码阅读ConcurrenthashMap的特点12、并发集合类:ConcurrentHashMapArrayList,HashSet,HashMap等等Java集合类在多线程下是非线程安全的,Java集合中能做到线程安全的是vector和HashTableArrayList能否做到线程安全呢?需要借助于Collections.synchronizedXXX()借助该工具类原创 2020-11-03 16:42:59 · 493 阅读 · 0 评论 -
Java多线程(3)
文章目录7、Java并发知识临界资源和临界区并发的特性原子性可见性有序性8、Volatile关键字Volatile特征保证了内存可见性禁止指令重排序Volatile工作原理9、Synchronized关键字Synchronized的使用Synchronized添加到代码块synchronized添加在普通的方法上Synchronized添加到静态方法上Synchronized的特点synchronized原理Synchronize的使用场景场景1:两个线程同时访问同一个对象的同步方法场景2:两个线程同时访问原创 2020-11-03 11:59:50 · 466 阅读 · 0 评论 -
Java多线程(2)
文章目录线程方法start():启动线程run():子线程执行体yiled():线程让步sleep():线程的休眠join():线程合并Interrupt():中断线程deamon:守护线程Priority:线程的优先级线程调度用户级调度系统级调度作业:线程顺序打印问题线程方法start():启动线程start()方法的作用是用来启动一个新线程,start需要首先调用,start方法是不能重复调用start方法JDK源码如下:public synchronized void start() {原创 2020-10-28 10:56:58 · 457 阅读 · 1 评论 -
Java多线程(1)
文章目录1、并行和并发2、线程和进程线程和进程的区别3、线程的创建实现Runable接口方式 1、并行和并发 并发:指多个线程操作同一个资源,不是同时执行,需要交替执行,单核CPU,因为CPU执行每一个时间片很短,速度太快,看起来是同时执行(张三、李四厨师,使用同一口锅炒菜,交替执行)并行:多核CPU,每个线程来使用一个单独的CPU的资源来运行(张三、李四厨师,一人一口锅,一起炒菜) 并发编程:指允许多个任务在一个时间段内重复的执行的设计结构高原创 2020-09-23 21:31:00 · 455 阅读 · 0 评论