开发者社区> 问答> 正文

多任务多线程业务问题,求各位朋友给个意见

业务场景:现系统有一功能,业务比较简单,程序上几乎也只是往一张表插入数据,但是此功能使用相当频繁,业务高峰期,操作人数也很多,重要的是,每插入一条数据,需要调用其他四个系统的远程接口(接口间没有关联关系),这就导致了明明很简单的一个操作,但是要花费很长时间,客户端体验不好。
目前做法:我把所有远程调用逻辑都单独起了一个线程(new Thread方式),线下测试OK,上线后遇到业务操作高峰期,线程过多,直接导致tomcat假死,没辙只好回滚。
情况就是以上,有什么好的思路解决效率及线程问题吗?

展开
收起
落地花开啦 2016-06-01 23:31:44 2222 0
1 条回答
写回答
取消 提交回答
  • 喜欢技术,喜欢努力的人

    线程池的作用就是限制系统中执行线程的数量。
    http://blog.csdn.net/sd0902/article/details/8395677
    构建四个线程池,每个线程池执行一种远程调用逻辑。
    `threadsPool.submit(new Runnable() {

    @Override
    public void run() {
        // 远程调用逻辑
    }

    });`

    这样就可以解决线程过多的问题。
    其实我觉得,用ForkJoinPool更合适。

    2019-07-17 19:23:51
    赞同 展开评论 打赏
问答分类:
问答标签:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
多IO线程优化版 立即下载
翻译是一种分享 为的是让我们更好的与世界沟通 立即下载
微信红包系统可用性设计实践 立即下载