请老师检查一下

请老师检查一下

相关代码:

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());
}

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

1回答
好帮手慕小尤 2023-08-04 17:45:51

同学你好,已完成练习,棒棒哒!继续加油!

祝学习愉快!

问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师