1
我正在創建一個將字符串記錄到文件中的異步類。我應該在課堂上創建線程嗎?我正在想這樣的一個啓動功能類中的線程
void Async_Log::start (void)
{
std::thread thread_log(
[&]()
{
std::ofstream fout;
fout.open(fileName);
while(true)
{
if(q.size())
{
std::lock_guard<std::mutex> lock(m);
fout << q.front() << "\t At Time: " << std::clock() << std::endl;
q.pop();
}
}
fout.close();
});
}
或者是最好離開螺紋到主要。我首先關心的是,如果線程是唯一的(所以如果我用兩個不同的文件實例化類2次將會導致thread_log被覆蓋或發生衝突)。
通過定義一個GUID成員,可以爲不同的類寫入不同的文件。 – 2013-04-18 05:59:15
在班上有一個線程沒什麼問題。但是你需要提供一種手段來加入它。 – juanchopanza 2013-04-18 06:00:13
就像添加一個停止功能,將打破循環,然後加入線程回來? – 2013-04-18 06:02:12