8黄页网站建设,怎样进行网络推广效果更好,wordpress默认固定链接,购物网站计划书1. 线程创建的几种方式
2. 锁的类型
在学习JUC之前#xff0c;加锁、等待、唤醒 分别使用的是 #xff08;synchronized、lock#xff09;、wait、notify在学习JUC开始#xff0c;学会使用lock接口的其他实现类来进行上述操作#xff0c;比如 ReentrantLock
3. 线程池 …1. 线程创建的几种方式
2. 锁的类型
在学习JUC之前加锁、等待、唤醒 分别使用的是 synchronized、lock、wait、notify在学习JUC开始学会使用lock接口的其他实现类来进行上述操作比如 ReentrantLock
3. 线程池 ExecutorService 的 submit 和 execute都可以执行 实现了 Runnable 接口的 任务但是submit 执行的 任务 是可以拿到返回值的execute则没有如果 执行 的多个任务中有一个发生了异常execute 抛出异常其他线程继续执行新任务submit 则没有提示只有主动 Future.get 才能拿到异常信息其他线程继续执行如果需要 捕获 线程执行任务时的异常信息可以在任务代码中加上try catch但是比较麻烦推荐重写 afterExecute 方法参数为 Runnable 和 Throwable可以通过判断 Throwable 是否有值来 捕获打印异常信息抖音上刷到的
4. 项目中常用的线程池创建