Parallel.For不同步输出

 手机用户2702934194 发布于 2023-02-13 11:12

我是C#4.0中并行编程类的新手; 正在尝试一个简单的for循环,我应该通过常规的for循环以顺序的方式从0到99打印,但是使用Parallel.For,我会在随机混乱的顺序中获得不连续的输出.

代码:

using System.Threading.Tasks;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {

            Parallel.For(0, 100, i =>
            {
                //object sync = new object(); 
                //lock (sync)
                {
                    Console.WriteLine("Writing" + i);
                }
            });
            Console.Read();
        }
    }
}

控制台上的一个输出:

Writing0
Writing1
Writing2
Writing3
Writing4
Writing5
Writing6
Writing7
Writing8
Writing9
Writing10
Writing11
Writing12
Writing13
Writing14
Writing15
Writing16
Writing17
Writing18
Writing19
Writing20
Writing21
Writing22
Writing23
Writing24
Writing25
Writing26
Writing27
Writing28
Writing29
Writing30
Writing31
Writing32
Writing33
Writing34
Writing35
Writing36
Writing37
Writing38
Writing39
Writing40
Writing41
Writing42
Writing43
Writing44
Writing45
Writing46
Writing47
Writing48
Writing49
Writing50
Writing66
Writing67
Writing68
Writing70
Writing71
Writing72
Writing73
Writing74
Writing75
Writing76
Writing77
Writing78
Writing69
Writing82
Writing83
Writing84
Writing85
Writing86
Writing87
Writing88
Writing89
Writing90
Writing51
Writing52
Writing53
Writing54
Writing55
Writing91
Writing92
Writing93
Writing94
Writing95
Writing56
Writing57
Writing79
Writing80
Writing81
Writing58
Writing59
Writing96
Writing97
Writing98
Writing99
Writing60
Writing61
Writing62
Writing63
Writing64
Writing65

在此先感谢您,无论您有什么帮助,我们都会帮助您.

1 个回答
  • 那就是并行计算.任务排队,每个可用的处理器都有一个.如果完成,将向其发出下一个排队任务.没有关于将任务交付给处理单元的顺序的保证,也没有保证接下来要完成的任何保证,因此可并行代码与顺序代码+关键字不同parallel.需要开发算法以便能够并行运行.在您的简单示例中,编写了从1到100的所有数字,但并行循环不会按照您期望的自然顺序写入它们.

    2023-02-13 11:14 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有