多线程
ysl_20190905
这个作者很懒,什么都没留下…
展开
-
java Object中的wait(),notify(),notifyAll()必须在同步Synchronized方法/代码块中使用
为什么wait()必须在同步(Synchronized)方法/代码块中调用? 调用wait()就是释放锁,释放锁的前提是必须要先获得锁,先获得锁才能释放锁. 为什么notify(),notifyAll()必须在同步(Synchronized)方法/代码块中调用? notify(),notifyAll()是将锁交给含有wait()方法的线程,让其继续执行下去,如果自身没有锁,怎么叫把锁交给其他线程...原创 2019-11-07 13:37:42 · 438 阅读 · 0 评论 -
多线程
什么是进程和线程: 进程:进程指正在运行的程序。确切的来说,当一个程序进入内存运行,即变成一个进程,进程是处于运行过程中的程序,并且具有一定独立功能。 线程:线程是进程中的一个执行单元,负责当前进程中程序的执行,一个进程中至少有一个线程。一个进程中是可以有...原创 2019-09-09 19:57:13 · 112 阅读 · 0 评论 -
多线程模拟生产者消费者小案例
使用多线程实现生产者消费者案例: 定义集合(容器)锁对象 public class Lock { public static LinkedList<String> lock = new LinkedList<>(); //对象锁 } 定义生产者 class A implements Runnable { //生产者 @Override p...原创 2019-09-12 13:21:03 · 303 阅读 · 0 评论 -
并发编程01
并发工具类 CountDownLatch : 允许一个或多个线程等待,直到在其他线程完成工作再执行(增强版Join). public class UseCountDownLatch { //声明CountDownLatch 计数总值 6 static CountDownLatch latch = new CountDownLatch(6); //初始化线程 privat...原创 2019-09-16 19:42:04 · 235 阅读 · 0 评论 -
并发编程2
Callable和FutureTask(线程返回结果) public class Test { public static class A implements Callable<String> { @Override public String call() throws Exception { return "线...原创 2019-09-22 17:47:36 · 137 阅读 · 1 评论