当前位置: 首页 > news >正文

做印刷在哪个网站接单好好/站长工具使用

做印刷在哪个网站接单好好,站长工具使用,深圳专业网站建设公,wordpress接入视频聊天问题:ssm框架,spring中controller和service都是单例的,那是怎么保证线程安全呢? 通过threadLocal保证, 实际一个实例,tomcat中线程池执行任务时,获取单例的副本,每个线程的执行都是操…


问题:ssm框架,spring中controller和service都是单例的,那是怎么保证线程安全呢?
通过threadLocal保证,
实际一个实例,tomcat中线程池执行任务时,获取单例的副本,每个线程的执行都是操作单例的副本
那既然有单例的副本,此时还是单例的吗?????
https://www.cnblogs.com/-zhuang/articles/10607877.html

所有线程共享
类中定义 :static DateFormat ;

线程内共享:
类中定义-此时每个线程内部有一个新的对象,线程内部单独有一个对象,不存在线程安全的问题
private static ThreadLocal<DateFormat> threadLocal = new ThreadLocal<DateFormat>() ;

方法内共享:
方法内声明 DateFormat format;
说明:使用 ThreadLocal, 也是将共享变量变为独享,线程独享肯定能比方法独享在并发环境中能减少不少创建对象的开销。如果对性能要求比较高的情况下,一般推荐使用这种方法。


思路:
controller中service并行调用 service中的慢方法:
controller中 线程池
实现callable的实现类,直接将controller中的service和参数传入
线程池submit
future.get获取返回内容实例:

@Controller
@RequestMapping(value = "")
public class ReportSetController {static org.apache.log4j.Logger logger = org.apache.log4j.Logger.getLogger(ReportSetController.class);static ExecutorService pool = Executors.newFixedThreadPool(10);@AutowiredOrganizationService organizationService;@RequestMapping(value="/reportset/toEdit.action")public String toEdit( ModelMap modelMap,ServletRequest request,String reportsetIdStr ){// 预处理 。。。 省略// 老的写法如下:串行调用//        String treecontent1 = JSON.toJSONString(treeService.getOrganTree(ReportsetUserType.TO, reportsetId));// 新的写法如下: 并行调用,开启新的线程Future<String> submit = pool.submit(new TreeContentTask(treeService, ReportsetUserType.TO, reportsetId));String str = reportsetService.getReportsetBoardStrList(reportsetId);List<DashboardBoard> dashboardBoards = dashboardService.listUserDashboards(RSBIUtils.getLoginUserInfo().getUserId());String treecontent = null;try {treecontent = submit.get();} catch (InterruptedException e) {logger.error("组织关系获取失败", e);} catch (ExecutionException e) {logger.error("组织关系获取失败", e);}modelMap.put("treecontent", treecontent);return "reportset/reportset-edit";}
}public class TreeContentTask implements Callable<String> {OrganizationTreeService service ;ReportsetUserType type;Integer reportsetId;// 有线程安全问题?同一个servicepublic TreeContentTask(OrganizationTreeService service, ReportsetUserType type, Integer reportsetId){this.service = service;this.type = type;this.reportsetId = reportsetId;}@Overridepublic String call() throws Exception {OrganTreeCoreDto organTree = service.getOrganTree(type, reportsetId);return JSON.toJSONString(organTree);}
}


网上怎么解决的?
controller中创建任务  线程池在service中
https://blog.csdn.net/Hello_Ray/article/details/83340064

微服务优化之并行调用
https://blog.csdn.net/tidu2chengfo/article/details/80275064

http://www.lbrq.cn/news/7543.html

相关文章:

  • 做模板网站赚钱吗/网络营销的具体形式种类
  • 天津网站优化/网络公司网站建设
  • 网站做任务给钱的/徐州seo外包平台
  • 创业项目排行榜前十名/seo提升排名
  • 网站免费建站ppa/信阳网站seo
  • 网站开发毕业答辩/seo关键词优化排名推广
  • 外贸建站行业好做吗/优化网站排名如何
  • 个人网站用主机做服务器/长春今日头条新闻
  • 网站建设所需要的软件/湖南网站定制
  • 做网站建设的公司/网站广告策划
  • 成都网站建设与推广/怎么学做电商然后自己创业
  • 汽车销售公司的网站怎么做/山西网络营销seo
  • 阿里云网站备案多少天/nba东西部最新排名
  • wordpress外贸主题免费下载/天津seo诊断
  • 河南住房和城乡建设厅网站/广州番禺发布网
  • 看动漫是怎么做视频网站/河北网站推广
  • 优化 网站访问速度/文员短期电脑培训
  • 大连cms建站模板/快速建站
  • 怎样给公司产品做网站/推广宣传文案
  • 美国做网站工资/seo的定义是什么
  • 做图片网站咋样/营销培训讲师
  • 龙书浩个人网站/公司推广文案
  • 互联网整合营销推广/郴州seo网络优化
  • 武汉网站设计公司官网/上海网络优化seo
  • 好孩子官方网站王建设/怎么样做网站推广
  • 建设厅和住建厅有什么区别/广州百度seo排名
  • 建站宝盒源代码/seo关键字排名
  • 杨浦网站建设_网站外包/国内最新新闻事件
  • 网址的格式是什么样的/淄博seo
  • 网站建设完成确认书/营销型网站建设目标
  • 微信小程序连接到阿里云物联网平台
  • 35岁对工作的一些感悟
  • JavaSSM框架从入门到精通!第二天(MyBatis(一))!
  • leetcode4_452 and 763
  • MacOS 安全机制与“文件已损坏”排查完整指南
  • C语言(12)——进阶函数