利索能及
我要发布
收藏
专利号: 2018102469248
申请人: 武汉斗鱼网络科技有限公司
专利类型:发明专利
专利状态:已下证
更新日期:2026-05-14
缴费截止日期: 暂无
联系人

摘要:

权利要求书:

1.一种对象的调用方法,应用于消费者类对生产者类所创建的对象的调用,其特征在于,所述方法包括:

定义消费者通用模板;

定义生产者通用模板;

配置创建的消费者类继承所述消费者通用模板;

配置创建的生产者类继承所述生产者通用模板;

为消费者类定义成员列表和空闲列表,所述成员列表为被调用的对象的集合,所述空闲列表为未被调用的对象的集合;

所述消费者类调用所述生产者类的internalRelease函数遍历成员列表中的对象,以检测所述成员列表中的对象的第一参数是否符合第一预设值且所述成员列表中的对象的第二参数是否符合第二预设值,若都符合,则所述消费者类将对应的对象从所述成员列表中移动至所述空闲列表中,所述第一参数为引用计数,所述第二参数为指针成员,所述第一预设值为0,所述第一参数为0表征所述第一参数所属的对象没有被调用,处于空闲状态,所述第二预设值为非0,所述第二参数为非0表征所述第二参数所属的对象指向消费者类;

消费者类在所述空闲列表中查找是否存在未被调用的对象,若存在,则调用所述空闲列表中的一个未被调用的对象;

若不存在,则所述生产者类创建一个新的对象并将所述新的对象添加到所述成员列表中以供所述消费者类调用。

2.如权利要求1所述的方法,其特征在于,所述方法还包括:若所述成员列表中的对象的第一参数符合第一预设值且所述成员列表中的对象的第二参数不符合第二预设值,则将所述对象释放到系统中。

3.如权利要求1所述的方法,其特征在于,所述方法还包括:若所述成员列表中的对象的第一参数不符合第一预设值,则所述对象正被其他线程调用。

4.一种对象的调用装置,应用于消费者类对生产者类所创建的对象的调用,其特征在于,所述装置包括:

第一定义模块,用于定义消费者通用模板;

第二定义模块,用于定义生产者通用模板;

第一配置模块,用于配置创建的消费者类继承所述消费者通用模板;

第二配置模块,用于配置创建的生产者类继承所述生产者通用模板;

第三定义模块,用于为消费者类定义成员列表和空闲列表,所述成员列表为被调用的对象的集合,所述空闲列表为未被调用的对象的集合;

检测模块,用于所述消费者类调用所述生产者类的internalRelease函数遍历成员列表中的对象,以检测所述成员列表中的对象的第一参数是否符合第一预设值且所述成员列表中的对象的第二参数是否符合第二预设值,若都符合,则所述消费者类将对应的对象从所述成员列表中移动至所述空闲列表中,所述第一参数为引用计数,所述第二参数为指针成员,所述第一预设值为0,所述第一参数为0表征所述第一参数所属的对象没有被调用,处于空闲状态,所述第二预设值为非0,所述第二参数为非0表征所述第二参数所属的对象指向消费者类;

调用模块,用于消费者类在所述空闲列表中查找是否存在未被调用的对象,若存在,则调用所述空闲列表中的一个未被调用的对象;

创建模块,用于若不存在,则所述生产者类创建一个新的对象并将所述新的对象添加到所述成员列表中以供所述消费者类调用。

5.如权利要求4所述的装置,其特征在于,所述检测模块还用于:若所述成员列表中的对象的第一参数符合第一预设值且所述成员列表中的对象的第二参数不符合第二预设值,则将所述对象释放到系统中。

6.如权利要求4所述的装置,其特征在于,所述检测模块还用于:若所述成员列表中的对象的第一参数不符合第一预设值,则所述对象正被其他线程调用。

7.一种终端设备,其特征在于,所述终端设备包括存储器和处理器,所述存储器用于存储计算机程序代码,所述处理器用于执行所述存储器内存储的计算机程序代码以实现如权利要求1‑3任一项所述的对象的调用方法。