我锁定了几行应该获取 cookie 文件并读取它们的行,但有时我会看到一个错误,指出文件已在使用中!所以不知道出了什么问题...
代码:
private Object cookieLock = new Object();
main{
for (int j = 0; j < maxThreads; j++)
{
// Thread thread = new Thread(new ThreadStart(startPosting2(worker)));
Thread thread = new Thread(() => postingFunction2());
thread.IsBackground = true;
thread.Start();
}
}
public void postFunction2()
{
string tmpUsername = string.Empty;
string[] array2 = null;
try
{
lock (cookieLock)
{
array2 = File.ReadAllLines(tmpUsername + ".txt");
}
}
catch(Exception ex)
{
TextWriter sUrl = new StreamWriter("readingSameCookieFile.txt", true);
sUrl.WriteLine(exp.ToString());
sUrl.Close();
}
}
我做错什么了吗?这些行由 20-100 个线程同时执行,我看的不多,但我确实看到了一段时间,所以想知道为什么!
TXT 文件错误:
System.IO.IOException
: 该进程无法访问该文件'C:\Users\Administrator\My Projects\Bot Files\2 Message Poster Bot\MessagePoster - NoLog - Copy\cookies\LaureneZimmerebner57936.txt'
,因为它正被另一个进程使用。