
多线程
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 · 94 阅读 · 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 · 106 阅读 · 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 · 201 阅读 · 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 · 164 阅读 · 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 · 131 阅读 · 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 · 149 阅读 · 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 · 93 阅读 · 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 · 122 阅读 · 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 · 90 阅读 · 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 · 141 阅读 · 0 评论 -
java_多线程_线程停止_线程休眠_线程礼让_线程强制执行
线程状态 线程停止 测试stop 1.建议线程正常停止----->利用次数,不建议死循环 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 · 210 阅读 · 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 · 113 阅读 · 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 · 193 阅读 · 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 · 161 阅读 · 0 评论