![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
多线程
文章平均质量分 73
java的道路任重而道远
这个作者很懒,什么都没留下…
展开
-
多线程状态图
原创 2019-04-22 17:51:21 · 353 阅读 · 0 评论 -
多线程的创建的两种方式
第一种:继承Thread类 public class ThreadExplain extends Thread { private String name; ThreadExplain(String name){ super(name);//把线程名称传进线程里 this.name = name; } //多线程需要从写Threa...原创 2019-04-22 18:29:28 · 600 阅读 · 0 评论 -
多线程的同步代码块或同步函数解决线程安全问题以及对比
产生线程安全的原因: 1、多个线程操作共享数据 2、操作共享数据的线程代码有多条 当一个线程在执行操作共享数据的多条代码过程中,其他线程参与了运算就会导致线程安全的产生。 比如: 当我们每个线程进入判断语句时候我让他睡眠10毫秒,那比如此时num为2的时候,有4个线程在执行, 其中线程1进如判断语句了值为2 其中线程2进如判断语句了值为2 其中线程3进如判断语句了值为2 其中线程...原创 2019-04-22 21:09:53 · 297 阅读 · 0 评论 -
单例懒汉式多线程线程安全相关问题及解决
1、单例分为懒汉式和饿汉式,饿汉式不涉及线程安全问题 2、解决单例懒汉式的线程安全问题代码 public class ThreadSingle { private static ThreadSingle threadSingle = null; private ThreadSingle(){}; public static ThreadSingle getTreadS...原创 2019-04-23 22:38:00 · 207 阅读 · 0 评论 -
多线程死锁案例
public class ThreadDeadlock implements Runnable{ private boolean flag; public ThreadDeadlock(boolean flag){ this.flag = flag; } public void run(){ if(flag){ ...原创 2019-04-23 23:45:03 · 132 阅读 · 0 评论 -
多线程-等待与唤醒
等待 与 唤醒 1、wait():让线程处于冻结状态,被wait的线程会被存储到线程池里 2、notify():唤醒线程池里任意一个线程 3、notifyAll():唤醒线程池里所有的线程。 这些方法都必须定义在同步中,因为这些方法是用于操作线程状态的方法,必须要明确到底操作的是那个锁上的线程 为什么操作线程的方法 wait notifh notifyAll 定义在Object类中,...原创 2019-04-25 02:04:49 · 249 阅读 · 0 评论 -
多线程-停止线程
public class StopThread implements Runnable { /* * 停止线程 * 1、stop 方法 * 2、run方法结束 * 怎么控制线程任务结束呢? * 任务中都会有循环结构,只要控制了循环就可以结束任务。 * 控制循环通常是通过定义标记来实现的 * 但如果线程处于冻结状态,无法读取标记,如...原创 2019-04-25 15:53:11 · 115 阅读 · 0 评论 -
多线程 lock
public class Resources { private String name; private int count =1; private boolean flag = false; // wait 和 sleep的区别 //1、wait 可以指定时间也可以不指定 // sleep 必须指定时间 //2、再同步中时,对cp...原创 2019-04-25 15:53:58 · 164 阅读 · 0 评论