thread
文章平均质量分 92
Ha ha, a smile
这个作者很懒,什么都没留下…
展开
-
线程知识总结
1、Java中实现多线程有几种方法 继承Thread类; 实现Runnable接口; 实现Callable接口通过FutureTask包装器来创建Thread线程; 使用ExecutorService、Callable、Future实现有返回结果的多线程(也就是使用了ExecutorService来管理前面的三种方式)。 2、如何停止一个正在运行的线程 1、使用退出标志,使线程正常退出,也就是当run方法完成后线程终止。 2、使用stop方法强行终止,但是不推荐这个方法,因为stop和suspend及res原创 2020-09-12 13:08:36 · 282 阅读 · 0 评论 -
线程创建的四种方式
方式一: 继承Thread类 public class thread { public static void main(String[] args) { thread1 thread1=new thread1(); Thread thread=new Thread(thread1); thread.start(); } } class thread1 extends Thread{ @Override public void原创 2020-08-06 12:52:47 · 92 阅读 · 0 评论 -
确保三个线程顺序执行
三个线程T1,T2,T3,如何保证顺序执行? 在多线程中有多种方法让线程按特定顺序执行,你可以用线程类的join()方法在一个线程中启动另一个线程,另外一个线程完成该线程继续执行。为了确保三个线程的顺序你应该先启动最后一个(T3调用T2,T2调用T1),这样T1就会先完成而T3最后完成。 实际上先启动三个线程中哪一个都行, 因为在每个线程的run方法中用join方法限定了三个线程的执行顺序。 public class JoinTest2 { // 1.现在有T1、T2、T3三个线程,你怎样保证T原创 2020-07-17 14:43:24 · 381 阅读 · 0 评论 -
BlockingQueue阻塞队列
add(抛出异常): public class BlockingQueueDemo { public static void main(String[] args) { BlockingQueue<String> blockingQueue=new ArrayBlockingQueue<>(3); System.out.println(blockingQueue.add("a")); System.out.println(blockin原创 2020-07-13 13:51:21 · 185 阅读 · 0 评论 -
TimeUnit
TimeUnit是java.util.concurrent包下面的一个类,表示给定单元粒度的时间段。 常用的颗粒度 TimeUnit.DAYS //天 TimeUnit.HOURS //小时 TimeUnit.MINUTES //分钟 TimeUnit.SECONDS //秒 TimeUnit.MILLISECONDS //毫秒 延时,可替代Thread.sleep() ...原创 2020-07-05 12:45:32 · 121 阅读 · 0 评论 -
线程
线程的写法: import java.util.concurrent.locks.Lock; import java.util.concurrent.locks.ReentrantLock; class ticket{ private int number=30; Lock lock=new ReentrantLock(); public void sale(){ lock.lock(); try {原创 2020-07-05 11:22:15 · 89 阅读 · 0 评论