一、龟兔赛跑 package cn.xej.thread; public class Rice implements Runnable{ private int rSpeed = 5; //兔子速度 private int gSpeed = 2; //乌龟速度 private int rSum = ...
分类:
编程语言 时间:
2020-05-31 11:05:30
阅读次数:
62
通常线程是:有一个请求然后会创建对应的线程;执行完之后再回收。等待下次请求。 这样不断的创建线程再销毁线程是一种资源浪费,而且也不能无限制的创建线程。所以我们要学会复用线程(线程池)。 Java提供的线程池: ExecutorService 通过实现这个接口可以达到线程池的管理。 runnable ...
分类:
编程语言 时间:
2020-05-30 19:39:59
阅读次数:
63
static final int poolSize = 50; static final long keepAliveTime = 0L; static final ThreadFactory threadFactory = new ThreadFactoryBuilder().setNameFor ...
分类:
编程语言 时间:
2020-05-30 12:57:37
阅读次数:
46
//数据共享package projict05; import java.util.ArrayList; public class test31{ public static void main(String[] args) { TicketSaler t1=new TicketSaler("窗口一 ...
分类:
编程语言 时间:
2020-05-28 19:28:43
阅读次数:
53
1、线程状态 2、线程的终止 不推荐使用JDK提供的stop方法、destory方法,他们已经被废弃,这里使用标志位来终止线程 public class TestStop implements Runnable { private boolean flag=true; @Override publi ...
分类:
编程语言 时间:
2020-05-27 17:07:17
阅读次数:
89
常见面试题:创建一个线程的常用方法有哪些?Thread创建线程和Runnable创建线程有什么区别? 答案通常集中在,继承类和实现接口的差别上面; 如果深入问一些问题:1.要执行的任务写在run()方法中,为什么要用start()方法启动?等等问题 简单的问题还是可以回答一哈子,但是涉及到深入些的问 ...
分类:
编程语言 时间:
2020-05-26 22:17:40
阅读次数:
84
创建多线程和线程池 import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; import java.util.concurrent.TimeUnit; //开启的线程数 int threa ...
分类:
编程语言 时间:
2020-05-26 21:58:56
阅读次数:
95
顺序打印ABCABC...ABC,打印10组。 方法一:使用ReentrantLock和Condition实现。使用三组Condition来实现线程之间的通信。 1 public class PrintABC implements Runnable { 2 3 private int times = ...
分类:
编程语言 时间:
2020-05-25 19:57:23
阅读次数:
89
线程相关 1. 产生线程: 继承Thread并重写public void run()。在try块中初始化文件流。main方法中利用多态新建一个Thread类变量,并调用.start开始运行。但重写run()方法无法向程序的其他部分传递信息。 也可以不继承Thread类,而是实现Runnable接口, ...
分类:
编程语言 时间:
2020-05-24 11:43:06
阅读次数:
53
1、什么是JUC JUC大家可能听说过,它实际上 Java 提供的用于并发处理的工具包。如官方文档所示: 回顾以前 在以前的业务中,我们使用的代码: 1、Thread 2、Runnable:没有返回值、无法抛出异常、效率相比 Callable 较低! 3、Callable 4、还有Locked锁 这 ...
分类:
编程语言 时间:
2020-05-23 18:20:08
阅读次数:
51