摘要:
线程强制执行_join Join合并线程,待此线程执行完成后,再执行其他线程,其他线程阻塞 可以想象成插队 //测试join方法//想象为插队 public class TestJoin implements Runnable{ @Override public void run() { for ( 阅读全文
摘要:
线程礼让(yield) 礼让线程,让当前正在执行的线程暂停,但不阻塞 将线程从运行状态转为就绪状态 让cpu重新调度,礼让不一定成功!看CPU心情 //测试礼让线程 //礼让不一定成功,看CPU心情 public class TestYield { public static void main(S 阅读全文
摘要:
线程休眠 sleep(时间)指定当前线程阻塞的毫秒数 sleep存在异常InterruptedException sleep时间达到后线程进入就绪状态 sleep可以模拟网络延时,倒计时等。 每一个对象都有一个锁,sleep不会释放锁; 代码实现 import java.text.SimpleDat 阅读全文
摘要:
线程五大状态与线程停止 线程状态 线程方法 停止线程 不推荐使用JDK提供的stop()、destroy()方法。【已废弃】 推荐线程自己停止下来 建议使用一个标志位进行终止变量,当flag=false,则终止线程运行。 代码如下 //测试stop //1.建议线程正常停止 >利用次数,不建议死循环 阅读全文
摘要:
Lamda表达式 λ希腊字母表中排序第十一位的字母,英文名称为Lambda 避免匿名内部类定义过多 其实质属于函数式编程的概念 new Thread (()->System.out.println("多线程学习。。。")).start(); 为什么要使用lambda表达式 避免匿名内部类定义过多 可 阅读全文
摘要:
静态代理模式 演示:实现静态代理对比Thread package com.lu.staticproxy; //静态代理模式总结: //真实对象和代理对象都要实现同一个接口 //代理对象要代理真实角色 //好处 //代理对象可以做很多真实对象做不了的事情 //真实对象专注做自己的事情 public c 阅读全文
摘要:
实现Callable接口(了解即可) 实现Callable接口,需要返回值类型 重写call方法,需要抛出异常 创建目标对象 创建执行服务:ExecutorService ser = Executors.newFixedThreadPool(1); 提交执行:Future result1 = ser 阅读全文
摘要:
多线程模拟龟兔赛跑 //胜利者 private static String winner; @Override public void run() { for (int i = 0; i <= 100; i++) { //模拟兔子休息 if (Thread.currentThread().getNa 阅读全文
摘要:
多线程操作同一个对象的例子(引出并发) //多个线程同时操作同一个对象 //买火车票的例子 //发现问题:多个线程操作同一个资源的情况下,线程不安全,数据混乱。 public class TestThread4 implements Runnable{ //票数 private int ticket 阅读全文