
多线程
文章平均质量分 73
java的道路任重而道远
这个作者很懒,什么都没留下…
展开
-
多线程状态图
原创 2019-04-22 17:51:21 · 385 阅读 · 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 · 630 阅读 · 0 评论 -
多线程的同步代码块或同步函数解决线程安全问题以及对比
产生线程安全的原因:1、多个线程操作共享数据2、操作共享数据的线程代码有多条当一个线程在执行操作共享数据的多条代码过程中,其他线程参与了运算就会导致线程安全的产生。比如:当我们每个线程进入判断语句时候我让他睡眠10毫秒,那比如此时num为2的时候,有4个线程在执行,其中线程1进如判断语句了值为2其中线程2进如判断语句了值为2其中线程3进如判断语句了值为2其中线程...原创 2019-04-22 21:09:53 · 322 阅读 · 0 评论 -
单例懒汉式多线程线程安全相关问题及解决
1、单例分为懒汉式和饿汉式,饿汉式不涉及线程安全问题2、解决单例懒汉式的线程安全问题代码public class ThreadSingle { private static ThreadSingle threadSingle = null; private ThreadSingle(){}; public static ThreadSingle getTreadS...原创 2019-04-23 22:38:00 · 237 阅读 · 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 · 158 阅读 · 0 评论 -
多线程-等待与唤醒
等待 与 唤醒1、wait():让线程处于冻结状态,被wait的线程会被存储到线程池里2、notify():唤醒线程池里任意一个线程3、notifyAll():唤醒线程池里所有的线程。这些方法都必须定义在同步中,因为这些方法是用于操作线程状态的方法,必须要明确到底操作的是那个锁上的线程为什么操作线程的方法 wait notifh notifyAll 定义在Object类中,...原创 2019-04-25 02:04:49 · 280 阅读 · 0 评论 -
多线程-停止线程
public class StopThread implements Runnable { /* * 停止线程 * 1、stop 方法 * 2、run方法结束 * 怎么控制线程任务结束呢? * 任务中都会有循环结构,只要控制了循环就可以结束任务。 * 控制循环通常是通过定义标记来实现的 * 但如果线程处于冻结状态,无法读取标记,如...原创 2019-04-25 15:53:11 · 137 阅读 · 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 · 192 阅读 · 0 评论