
框架+线程安全
CheriYu
我本微末凡尘,可也心向天空。
展开
-
取消与关闭任务----示例:日志服务
package canceltask; import java.io.PrintWriter; import java.util.concurrent.BlockingQueue; import java.util.concurrent.LinkedBlockingQueue; /** * 服务发挥是实际作用,需要终止日志线程,防止JVM无法正常关闭 * 3种方式终止运行中的线程 * 1.使用退出标志,使线程正常退出,也就是当run方法完成后线程终止。 * 2.使用stop方法强行终止,但是不.原创 2020-12-24 00:28:35 · 393 阅读 · 1 评论 -
采用newTaskFor来封装非标准的取消
package canceltask; import java.util.concurrent.Callable; import java.util.concurrent.RunnableFuture; /** * 接口:封装一个取消任务 * */ public interface CancellableTask<T> extends Callable { // 取消 void cancel(); // 新任务,返回RunnableFuture Runn.原创 2020-12-21 23:38:34 · 418 阅读 · 0 评论 -
struts2,servlet的线程安全问题
struts2中每个action有多个实例,处理一次请求就会生成一个实例,这些实例彼此独立,处理完毕就会销毁。因此每个action是线程安全的。 servlet是单例模式的,只会产生一个实例,当多个用户同时请求一个servlet的时候,tomcat就会派生出多个线程来执行servlet的代码,因此servlet是线程不安全的。package servletThread;import java.io原创 2017-08-06 03:31:18 · 605 阅读 · 0 评论