首页 > 代码库 > 经验总结23--C#多线程和加锁
经验总结23--C#多线程和加锁
C#的线程蛮简单。
Thread t1 = new Thread(Runing);
t.Start();
可以使用匿名线程进行传参。
Thread t = new Thread(() =>
{
Runing();
});
t.Start();
这样的话Runing方法可以使用参数了。
另外如果开了多线程去进行同一个操作,比如写入文本、数据库之类的,可以使用加锁处理。
private static object obj = new object();
public static void RecordData(string str, string path)
{
try
{
lock (obj)
{
StreamWriter sw = new StreamWriter(path, true, Encoding.UTF8);
sw.WriteLine(str);
sw.Close();//写入
}
}
catch (Exception e)
{
throw new Exception("写入文件错误!");
}
}
这样可以保证都写入了文件,并比同步效率高,先到先写入。