使用 2 线程使用 C# 写入 2 个文本文件

本文关键字:文本 文件 写入 线程 使用 | 更新日期: 2023-09-27 18:30:34

我想编写一个 C# 控制台应用程序
使用两个线程写入两个文本文件。这两个文件包含从 1 到 2000 的所有数字,但没有数字在 2 个文件中重复两次作为第一个文件(123...),第二个文件(456.....)

谢谢

使用 2 线程使用 C# 写入 2 个文本文件

您需要

将数据分解为块。有几种算法,但我将用"奇偶"来演示。

这对你有帮助吗?

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.IO;
using System.Threading;
namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {

            //odd
            Thread _th1 = new Thread(new ThreadStart(delegate
            {
                StreamWriter sw = File.AppendText("thread1.txt");
                for (int i = 0; i <= 2000; i=i+2)
                {
                    Console.WriteLine("th1:" + i.ToString());
                    sw.Write(i.ToString()+";");    
                }
                sw.Close();
            }));
            //even
            Thread _th2 = new Thread(new ThreadStart(delegate
            {
                StreamWriter sw = File.AppendText("thread2.txt");
                for (int i = 1; i <= 2000; i = i + 2)
                {
                    Console.WriteLine("th2:" + i.ToString());
                    sw.Write(i.ToString()+";");
                }
                sw.Close();
            }));
            _th1.Start();
            _th2.Start();
            Console.Read();
        }
    }
}