随笔分类 - 多线程
线程池的创建 Executors工具类
摘要:package com.Java;import java.util.concurrent.*;public class TestPool { public static void main(String[] args) { //创建服务 创建线程池 ExecutorService service =
阅读全文
线程通信-采用标志位
摘要:package com.Java;public class Testflag { public static void main(String[] args) { TV tv = new TV(); new Player(tv).start(); new Watcher(tv).start(); }
阅读全文
Lock锁(性能更好,是代码块锁,synchronized锁能锁方法)
摘要:package com.Java;import java.util.concurrent.locks.ReentrantLock;//可重入锁public class TestLock { public static void main(String[] args) { TestLock2 test
阅读全文
死锁案例 synchronized不要一次性拿两个锁
摘要:package com.Java;//死锁案例 互相持有对方的锁 并且想要拿到对方的资源public class DeadLock { public static void main(String[] args) { Makeup makeup = new Makeup(0, "灰姑凉"); Mak
阅读全文
synchronized保证线程安全
摘要:package com.Java;//银行不安全案例 两个人同时取钱//使用 synchronized和synchronized块 可以锁住对象 保证线程的安全性public class TestBank { public static void main(String[] args) { Acco
阅读全文
守护线程
摘要:package com.Java;//守护线程//虚拟机不需要等待守护线程执行完//虚拟机必须等待用户线程执行完public class TestDaemon { public static void main(String[] args) { God god = new God(); Yous y
阅读全文
线程的优先级(最终还是要看cpu)
摘要:package com.Java;//线程优先级调度// 注意:不是调整了优先级就一定会被cpu先执行 只是提高了执行概率 一切还是要看cpu调度public class TestPriority { public static void main(String[] args) { System.o
阅读全文
观察线程的5个状态 线程不能重新启动
摘要:package com.Java;//观测线程状态public class TestState { public static void main(String[] args) throws InterruptedException { Thread thread = new Thread(() -
阅读全文
Join线程强制执行
摘要:package com.Java;//Join 线程插队 必须执行完再执行其他线程public class TestJoin implements Runnable { @Override public void run() { for (int i = 0; i < 500; i++) { Sys
阅读全文
线程礼让 Thread.yield(); 礼让不一定成功
摘要:package com.Java;//线程礼让 礼让不一定成功public class TestYield { public static void main(String[] args) { MyYield yield = new MyYield(); new Thread(yield, "a")
阅读全文
线程sleep休眠的应用
摘要:package com.Java;import java.text.SimpleDateFormat;import java.util.Date;//每个对象都有一个锁 sleep不会释放锁public class TestSleep { public static void main(String
阅读全文
线程的停止(建议线程正常运行停止)
摘要:package com.Java;public class TestStop implements Runnable {// 测试线程停止// 1.建议线程正常停止 -->利用次数 不建议死循环// 2.建议使用标志位--> 设置一个标志位// 3.不要使用stop和destroy等过时和jdk不建
阅读全文
Lambda表达式的使用以及简化
摘要:package com.Java;public class Lambda1 { public static void main(String[] args) {// ILike ilike = null;// //可以有多个接口式函数// ilike = (int a)->{// }; Like l
阅读全文
静态代理 婚礼案例
摘要:package com.Java;interface Marry { public void HappyMarry();}//静态代理总结//代理对象和真实对象都要实现同一个接口//代理对象要代理真实角色//好处//代理对象可以做很多真实对象做不了的事情//真实对象专注做自己的事情public cl
阅读全文
创建多线程方式3:实现Callable接口 改造下载图片案例
摘要:package com.Test;import org.apache.commons.io.FileUtils;import java.io.File;import java.io.IOException;import java.net.URL;import java.util.concurrent
阅读全文
多线程 龟兔赛跑案例
摘要:package com.Java;public class Race implements Runnable{// 胜利者 private static String winner; @Override public void run() { for (int i = 0; i <=100; i++
阅读全文
多个线程操作一个对象
摘要:package com.Java;//多个线程操作同一个对象//抢火车票例子//发现问题 多个线程抢夺同个资源的情况下 线程不安全 数据紊乱public class TestThread4 implements Runnable{ private int titckNum = 10; @Overri
阅读全文
创建多线程方式1:继承Thread开启多线程下载图片(不推荐,java的单一继承性)
摘要:package com.Java;import org.apache.commons.io.FileUtils;import java.io.File;import java.io.IOException;import java.net.URL;//练习多线程Thread,实现多线程下载图片publ
阅读全文
创建多线程方式2:使用Runnable(推荐)多线程下载图片
摘要:package com.Java;import org.apache.commons.io.FileUtils;import java.io.File;import java.io.IOException;import java.net.URL;//练习多线程Thread, 实现Runnable接口
阅读全文
浙公网安备 33010602011771号