![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
代码
文章平均质量分 65
小不为霸
这个作者很懒,什么都没留下…
展开
-
java之多线程(五)——线程死锁问题
什么是死锁问题1、不同的线程分别占用对方需要的同步资源不放弃,都在等待对方放弃自己需要的同步资源,就形成了线程的死锁。2、出现死锁后,不会出现异常,不会出现提示,知识所有线程都处于阻塞状态,无法继续。解决方法1、专门的算法、原则2、尽量减少同步资源的定义3、尽量避免嵌套同步代码实例public class SouTest { public static void m...原创 2023-07-07 16:18:59 · 406 阅读 · 0 评论 -
java之多线程(四)——线程的通信
使用两个线程交替打印1-100class Co implements Runnable{ private int num = 1; @Override public void run() { while(true){ synchronized (this) { notify(...原创 2023-07-07 15:45:08 · 211 阅读 · 0 评论 -
java之多线程(三)——lock锁解决线程安全问题
Lock(锁)1、从JDK 5.0开始,java提供了更加强大的线程同步机制——通过显式定义同步锁对象来实现同步。同步锁使用Lock对象充当。2、*java.util.concurrent.locks.Lock接口时控制多个线程对共享资源进行访问的工具。*锁提供了对共享资源的独占访问,每次只能有一个线程对Lock对象加锁,线程开始访问共享资源之前应先获得Lock对象。3、ReentrantL...原创 2023-07-07 15:36:11 · 395 阅读 · 0 评论 -
java之多线程(二)——线程安全问题以及解决(同步代码块、同步方法)
线程的生命周期JDK中Thread.State类定义了线程的几种状态要想实现多线程,必须在主线程中创建新的线程对象。java语言使用Thread类及其子类的对象来表示线程,在它的一个完整的生命周期中通常要经历一下五种状态。1、新建:当一个Thread类或其子类的对象被声明并创建时,新生的程序对象处于新建状态。2、就绪:处于新建状态的线程被start()后,将进入线程队列的等待CPU时间片...原创 2023-07-06 18:08:41 · 304 阅读 · 0 评论 -
java之多线程(一)——线程的创建以及常用API
概念什么是程序?程序是为完成特定任务、用某种语言编写的一组指令的集合。即指一段静态的代码,静态对象。什么是进程?进程是程序的一次执行过程,或是正在运行的一个程序。是一个动态的过程:有它自身的产生、存在、消亡的过程。——生命周期1、进程作为资源分配的单位,系统在运行时会为每个进程分配不同的内存区域。2、程序时静态的,进程时动态的。什么是线程?进程可进一步细化为线程,是一个程...原创 2023-07-06 17:14:08 · 491 阅读 · 0 评论 -
java之集合框架的Collecitons工具类
Collections工具类Collections 是一个操作Set、List、Map等集合的工具类。Collections 中提供了一系列静态的方法对集合元素进行排序、查询和修改等操作,还提供了对集合对象设置不可变、对结合对象实现同步控制的方法Collections的常用方法(均为static方法)排序操作简介reverse(List)反转List集合元素的顺序...原创 2023-07-06 17:16:13 · 205 阅读 · 0 评论 -
java的集合框架ListSetMap
什么是集合?存储多个对象的单一对象(java容器)。为什么不用数组?集合与数组都是对数据进行存储操作的结构,简称java容器。 此时的存储主要是内存方面的,不涉及到持久话存储(.txt,.jpg,数据库)。数组存储的缺点: 1、一但初始化,长度确定。 2、数组创建后,元素类型确定。 3、数组提供的方法有限。 4、数组不能够存储无序,不可重复的数据。集合框架集合框架有两个父...原创 2023-07-06 17:13:20 · 290 阅读 · 0 评论