请老师检查一下
相关代码:
package threadlocal;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
public class ThreadLocalStringBuilder {
public static ExecutorService threadPool = Executors.newFixedThreadPool(10);
public static void main(String[] args) {
for (int i = 0; i < 20; i++) {
int finalI = i;
threadPool.execute(new Runnable() {
@Override
public void run() {
try {
Thread.sleep(1000);
String s = new ThreadLocalStringBuilder().data(finalI);
System.out.println(s);
} catch (InterruptedException e) {
throw new RuntimeException(e);
}
}
});
}
threadPool.shutdown();
}
public String data(int num) {
StringBuilder stringBuilder = ThreadSafeStringBuilder.stringBuilderThreadLocal.get();
if(stringBuilder.length() > 0){
stringBuilder.delete(0, stringBuilder.length());
}
String s = "数字" + num;
return stringBuilder.append(s).toString();
}
}
class ThreadSafeStringBuilder{
public static ThreadLocal<StringBuilder> stringBuilderThreadLocal = ThreadLocal.withInitial(()-> new StringBuilder());
}7
收起
正在回答 回答被采纳积分+1
2023版Java工程师
- 参与学习 人
- 提交作业 8788 份
- 解答问题 9886 个
综合就业常年第一,编程排行常年霸榜,北上广深月薪过万! 不需要基础,无需脱产即可学习,只要你有梦想,想高薪! 全新升级:技术栈升级(包含VUE3.0,ES6,Git)+项目升级(前后端联调与功能升级)
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星