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