0

TPL を使用すると、Parse で問題が発生します。メソッドは、Console.Write を使用して Line を作成しますが、1 つを高速にして他のメソッド行に書き込むことがあります。どうすればロックできますか、またはもっと良い方法がありますか?

Parallel.Invoke(
  () => insertedOne = Lib.ParseOne(list),
  () => insertedTwo = Lib.ParseTwo(list),
  () => insertedThree = Lib.ParseThree(list));

解析の例.. メソッド。

public static int ParseOne(string[] _list) {
    Console.Write("blabla");
    Console.Write("blabla");
    return 0;
}
public static int ParseTwo(string[] _list) {
    Console.Write("hahahah");
    Console.Write("hahahah");
    return 0;
}
public static int ParseThree(string[] _list) {
    Console.Write("egegege");
    Console.Write("egegege");
    return 0;
}
4

2 に答える 2

2

blablas、hahahahs、およびs を単一のエンティティ (分割不可能) として出力できるegegegeようにするには、メソッドを次のように記述します。

public static int ParseThree(string[] _list)
{
    lock (Console.Out)
    {
        Console.Write("egegege");
        Console.Write("egegege");
    }
    return 0;
}
于 2013-03-13T22:12:32.520 に答える