多个线程同时调用以下函数。
handlework(ItemWork &itemWork)
{
ItemHandler *itemHandler = NULL;
itemHandler = new ItemHandler ();
itemWork.work(boost::protect(boost::bind(&ItemHandler::writer, itemHandler, _1, _2, _3)));
.
.
.
}
当它们被多个线程同时执行时,由最新线程创建的itemHandler对象被其他先前启动(仍在运行)的线程使用。
如何避免?我的意思是执行绑定函数时每个线程都应该使用自己的对象。
如果您需要更多信息,请与我们联系。
谢谢, 纳加