zoukankan      html  css  js  c++  java
  • StringBuilder是不是线程安全的?

    测试条件:

    开启2个并行执行任务,往同一个StringBuilder对象写入值

    测试代码:

    static int maxNum = 1000000;
            static StringBuilder sbIsThreadSafe = new StringBuilder();
            static void Main(string[] args)
            {
                //迭代次数
                int iterationNum = 3;
                CodeTimer.Initialize();           
                CodeTimer.Time("StringBuilder是否是线程安全的呢?", iterationNum, new Action(SBIsThreadSafe));
                //Console.Write(sbIsThreadSafe.ToString());
                Console.Read();
            }
            private static void SBIsThreadSafe()
            {
                Parallel.For(1, maxNum / 2, (i) =>
                {
                    sbIsThreadSafe.Append(i.ToString());
                });
                Parallel.For(maxNum / 2 + 1, maxNum, (i) =>
                {
                    sbIsThreadSafe.Append(i.ToString());
                });
            }
    View Code

    测试结果:

    结论:

         StringBuilder是线程安全的

  • 相关阅读:
    每日日报63
    每日日报62
    每日日报61
    每日日报60
    每日日报59
    每日日报58
    el-table表格拖动排序
    vue/eslint
    $attrs $listeners
    table封装成全局组件
  • 原文地址:https://www.cnblogs.com/eric-xiongzw/p/4083358.html
Copyright © 2011-2022 走看看