![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java高级应用
阿里学长
People with weak emotion will never earn the right to be appointed with high expectation responsibilities.
展开
-
Java中解决线程安全问题的两种方法Synchronized和加Lock锁
同步代码块: 使用对象: synchronized(对象){ //需要被同步的代码; } //synchronized还可以放在方法声明中,表示整个方法为同步方法。例如: public synchronized void show (String name){ …. } 测试代码: Lock(锁) 从JDK 5.0开始,Java提供了更强大的线程同步机制——通过显式定义同步锁对象来实现同步。...原创 2020-03-17 20:28:18 · 574 阅读 · 0 评论 -
线程的同步和安全问题的解决方法
线程出现了安全问题 问题的原因: 当多条语句在操作同一个线程共享数据时,一个线程对多条语句只执行了一部分,还没有执行完,另一个线程参与进来执行。导致共享数据的错误。 解决办法: 对多条操作共享数据的语句,只能让一个线程都执行完,在执行过程中,其他线程不可以参与执行。 Java对于多 线程的安全问题提供了专业的解决方式:同步机制 ...原创 2020-03-17 14:18:37 · 176 阅读 · 0 评论 -
Java高级应用线程的生命周期
线程的生命周期 想实现多线程,必须在主线程中创建新的线程对象。Java语言使用Thread类及其子类的对象来表示线程,在它的一个完整的生命周期中通常要经历如下的五种状态: 新建:当一个Thread类或其子类的对象被声明并创建时,新生的线程对象处于新建状态 就绪:处于新建状态的线程被start()后,将进入线程队列等待CPU时间片,此时它已具备了运行的条件,只是没分配到CPU资源 运行:当就绪的线...原创 2020-03-17 11:08:49 · 170 阅读 · 0 评论 -
Java多线程中的Thread类
Thread类 构造器 Thread():创建新的Thread对象 Thread(Stringthreadname):创建线程并指定线程实例名 Thread(Runnabletarget):指定创建线程的目标对象,它实现了Runnable接口中的run方法 Thread(Runnable target, String name):创建新的Thread对象 Thread类的有关方法 voi...原创 2020-03-17 11:03:33 · 170 阅读 · 0 评论 -
Java高级应用多线程部分的基础知识整理
程序,进程,线程的关系 程序program): 是为完成特定任务、用某种语言编写的一组指令的集合。即指一段静态的代码,静态对象。 进程(process): 是程序的一次执行过程,或是正在运行的一个程序。是一个动态的过程:有它自身的产生、存在和消亡的过程。——生命周期 如:运行中的QQ,运行中的MP3播放器程序是静态的,进程是动态的,进程作为资源分配的单位,系统在运行时会为每个进程分配不同的...原创 2020-03-17 10:03:23 · 141 阅读 · 0 评论 -
Java中四种创建多线程的方法【含代码】
方式一:继承Thread类 定义子类继承Thread类。 子类中重写Thread类中的run方法。 创建Thread子类对象,即创建了线程对象。 调用线程对象start方法:启动线程,调用run方法。 方式二:实现Runnable接口 定义子类,实现Runnable接口。 类中重写Runnable接口中的run方法。 通过Thread类含参构造器创建线程对象。 将Runnable接口的子类对...原创 2020-03-17 09:10:37 · 184 阅读 · 0 评论