考大家一个多线程开发中同步的问题
下面的类中有几个接口,每个接口都可能有不同数目的线程在不确定的时候调用,看看大家能否实现同步
class Queue
{
public:
struct Item
{
virtual void Release() = 0;
virtual ~Item(){}
};
// 启用
bool Start(int maxItem = 10);
// 停用,并换醒所有GetItem正在等待的线程, deleteData为true时清除所有数据
bool Stop(bool deleteData = true);
// 添加,超过最大值时则等待,等待时被Stop换醒或timeout时则返回false
// timeout为-1时则无限等待
bool AddItem(Item* item, int timeout = -1);
// 获取,为空时则等待,等待时被Stop换醒或timeout时则返回NULL
Item* GetItem(int timeout = -1);
private:
std::vector<Item*> _items;
};
...全文
相关推荐
使用三种VC的多线程同步方法编写一个多线程的程序
1.使用三种VC的多线程同步方法编写一个多线程的程序(要求在屏幕上先显示Hello,再显示World)。1)基于全局变量的多线程同步程序;2)基于事件的多线程同步程序;3)基于临界区的多线程同步程序。
一个多线程同步读写的小程序
在这个“一个多线程同步读写的小程序”中,开发者显然已经考虑到了这些问题,并采取了相应的措施来确保程序的正确性和高效性。通过深入学习和实践这种技术,我们可以构建更健壮、更高效的多线程应用程序。
一个多线程示例程序及多线程常见问题介绍
C++Builder是一款强大的集成开发环境(IDE),它支持C++语言,为开发者提供了创建多线程应用的能力。在这个主题中,我们将深入探讨一个多线程示例程序以及在使用多线程时可能遇到的常见问题。
今天没事给大家写一个多线程例子
今天没事给大家写一个多线程例子今天没事给大家写一个多线程例子
多线程并发同步(爸爸妈妈苹果橘子问题,有界面)
在IT行业中,多线程并发同步是一个重要的概念,特别是在开发高效、响应迅速的应用程序时。


进程/线程/DLL
