![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
多线程
xixihaha_coder
坚持就是胜利!
展开
-
java_多线程_小总结
小总结//回顾总结线程的创建import java.util.concurrent.Callable;import java.util.concurrent.ExecutionException;import java.util.concurrent.FutureTask;//回顾总结线程的创建public class ThreadNew { public static void main(String[] args) { new MyThread1().start(); new原创 2021-06-30 14:44:02 · 77 阅读 · 0 评论 -
java_多线程_线程池
线程池import java.util.concurrent.ExecutorService;import java.util.concurrent.Executors;//测试线程池public class TestPool { public static void main(String[] args) { //1.创建服务,创建线程池 // newFixedThreadPool 参数为:线程池大小 ExecutorService service = Executors原创 2021-06-29 11:09:03 · 88 阅读 · 0 评论 -
java_多线程_信号灯法
信号灯法标志位解决package com.test3;//测试生产者消费者问题2:信号灯法,标志位解决public class TestPC2 { public static void main(String[] args) { TV tv = new TV(); new Player(tv).start(); new Watcher(tv).start(); }}//生产者--->演员class Player extends Thread { TV tv;原创 2021-06-27 11:40:24 · 167 阅读 · 0 评论 -
java_多线程_生产者消费者问题_管程法
生产者消费者问题解决方式一、管程法代码演示//测试:生产者消费者模型--->利用缓冲区解决:管程法//生产者,消费者,产品,缓冲区public class TestPC { public static void main(String[] args) { SynContainer container = new SynContainer(); new Productor(container).start(); new Consumer(container).star原创 2021-06-26 20:22:01 · 138 阅读 · 2 评论 -
java_多线程_死锁_lock锁
死锁代码演示//死锁:多个线程互相抱着对方需要的资源,然后形成僵持public class DeadLock { public static void main(String[] args) { Makeup g1=new Makeup(0, "灰姑凉"); Makeup g2=new Makeup(1, "白雪公主"); g1.start(); g2.start(); }}//口红class Lipstick {}//镜子class Mirror {}原创 2021-06-25 12:12:57 · 111 阅读 · 0 评论 -
java_多线程_扩展_CopyOnWriteArrayList
CopyOnWriteArrayList安全的集合import java.util.concurrent.CopyOnWriteArrayList;//测试JUC安全类型的集合public class TestJUC { public static void main(String[] args) { CopyOnWriteArrayList<String> list = new CopyOnWriteArrayList<String>(); for (int原创 2021-06-25 12:11:22 · 123 阅读 · 0 评论 -
java_多线程_同步方法及同步块
同步方法同步块代码演示买票//买票public class UnsafeBuyTicket { public static void main(String[] args) { BuyTicket b = new BuyTicket(); new Thread(b, "a").start(); new Thread(b, "b").start(); new Thread(b, "c").start(); }}class BuyTicket implements原创 2021-06-24 12:47:16 · 76 阅读 · 0 评论 -
java_多线程_线程同步机制
线程同步机制多个线程操作同一个资源关键字synchronized形成条件 : 队列 和 锁并发同一个对象被多个线程同时操作三大不安全案例案例一、买票案例//不安全的买票public class UnsafeBuyTicket { public static void main(String[] args) { BuyTicjke b = new BuyTicjke(); new Thread(b, "a").start(); new Thread(b, "b"原创 2021-06-23 12:04:22 · 103 阅读 · 0 评论 -
java_多线程_线程优先级_守护线程
线程优先级代码演示//测试线程的优先级public class TestPriority { public static void main(String[] args) { //主线程默认优先级 System.out.println(Thread.currentThread().getName()+"--->"+Thread.currentThread().getPriority()); MyPrioriy myPrioriy=new MyPrioriy(); Thread原创 2021-06-22 10:24:53 · 70 阅读 · 0 评论 -
java_多线程_观测线程状态
观测线程状态代码演示//观察测试线程的状态public class TestState { public static void main(String[] args) throws InterruptedException { Thread thread = new Thread(() -> { for (int i = 0; i < 5; i++) { try { Thread.sleep(1000); } catch (InterruptedE原创 2021-06-21 14:26:44 · 120 阅读 · 0 评论 -
java_多线程_线程停止_线程休眠_线程礼让_线程强制执行
线程状态线程停止测试stop1.建议线程正常停止----->利用次数,不建议死循环2.建议使用标志位----->设置一个标志位3.不要使用stop或者destroy等过时或者JDK不建议使用的方法代码演示public class TestStop implements Runnable { // 1.设置一个标识位 private boolean flag = true; @Override public void run() { int i = 0; wh原创 2021-06-20 11:04:15 · 169 阅读 · 0 评论 -
java_多线程_静态代理模式
静态代理模式代码演示package com.test1;public class StaticProxy { public static void main(String[] args) { /* * 和线程 new Thread( ()-> System.out.println("我爱你")).start(); new * WeddingCompany(new You()).HappyMarry(); */ WeddingCompany w = new原创 2021-06-18 13:48:53 · 86 阅读 · 0 评论 -
java_多线程Lamda表达式
Lamda表达式代码演示一/* 推导lamda表达式 */public class Lamda { //3.静态内部类 static class Like2 implements ILike { @Override public void lamda() { System.out.println("i like lamda2"); } } public static void main(String[] args) { ILike like = new原创 2021-06-17 12:16:47 · 165 阅读 · 0 评论 -
java_多线程Thread、Runnable
多线程三种创建方式Thread class 继承Thread类(重点)Runnable接口 实现Ru你那边了接口(重点)Callable接口 实现Callable接口(了解)继承Thread类自定义线程类继承Thread类重写run()方法,编写线程执行体创建线程对象,调用start()方法启动线程public class TestThread1 extends Thread { @Override public void run() { // run原创 2021-06-16 10:12:23 · 130 阅读 · 0 评论