当前位置:编程学习 > C#/ASP.NET >>

如何建立独立的线程,急!

要写一个多线程的程序,每个线程的工作内容是相同的,只是线程开始的时间不同,但同一时间可能有多个线程在运作,目前的情况是参数共享了,导致事件日志很混乱。不知道该怎么样处理,使得每个线程都是独立的,参数不会在不同的线程中相互传递。还请高手指点,谢谢! --------------------编程问答-------------------- 囧,我见过的大多数多线程问题都是问如何通信,还是第一次看到不通信的
你不用全局变量,这样他们就不能共用一个对象来导致数据错乱了,你让每个线程都有自己的调用对象就行了 --------------------编程问答-------------------- 你写日志的时候lock来进行同步 --------------------编程问答-------------------- ...目前的情况是参数共享了,导致事件日志很混乱...
参数共享本身并没错,日志可以利用线程ID来区分。


    public class MySimpleLog
    {
        static string s_logfile = @"c:\temp\my.log";
        static object s_Lock = new object();

        public static void WriteInfo(string msg)
        {
            Write(msg, "I");
        }
        public static void WriteDebug(string msg)
        {
            Write(msg, "D");
        }
        public static void WriteError(string msg)
        {
            Write(msg, "E");
        }
        static void Write(string msg, string catagory)
        {
            lock (s_Lock)
            {
                int id = System.Threading.Thread.CurrentThread.ManagedThreadId;                     //<-----
                System.IO.File.AppendAllText(s_logfile, string.Format("[{0}{1,3}{2}] {3}{4}", 
                    DateTime.Now.ToString("HH:MM:ss"), 
                    id, 
                    catagory, 
                    msg,
                    Environment.NewLine)
                    );
            }
        }
    }
    
    public class UTest
    {
        static void Main()
        {
            MySimpleLog.WriteInfo("Program started");
        }
    }
--------------------编程问答-------------------- 支持楼上的
补充:.NET技术 ,  C#
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,