gpt4 book ai didi

java - 创建太多线程有什么缺点吗?

转载 作者:行者123 更新时间:2023-12-04 20:16:20 25 4
gpt4 key购买 nike

我有一个方法可以执行一些 api 调用以将图像保存在 filenet 存储库上,然后它在两个数据库表上执行一些日志记录,整个方法需要很多时间来执行,所以我想到将日志记录分离到一个单独的线程如下:

public void createNewDocument(){            
doSaveImage();
new Thread()
{
@Override
public void run()
{
try{
new LogDAO().addLog(log);
new ReportsDAO().addCreatedDocumentLog(productivityReport);
}catch(Exception e){
e.printStackTrace();
}
}
}.start();
}

而且对于单个用户来说它工作正常,没有问题,所以我的问题是这被认为是一个糟糕的设计,当多个用户同时调用此方法时它是否会导致问题(内存问题?)或安全问题?

最佳答案

开线程也不错,关心的事情不多。

DB Connection opening/closing

Transaction will not span, each thread will have it's own transaction.

Rolling back the transaction, if any error/exception occurs in anyworker thread

also how you manage your threads, are threads in runnable instance, or go >to pool, and instantiated everytime etc. talking about threadpoool here, >how it is managed.

关于java - 创建太多线程有什么缺点吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28578617/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com