[发明专利]一种非主线程失效方法及装置无效

专利信息
申请号: 201110434409.0 申请日: 2011-12-22
公开(公告)号: CN102609308A 公开(公告)日: 2012-07-25
发明(设计)人: 佘军 申请(专利权)人: 深圳市万兴软件有限公司
主分类号: G06F9/48 分类号: G06F9/48
代理公司: 深圳汇智容达专利商标事务所(普通合伙) 44238 代理人: 潘中毅
地址: 518057 广东省深圳*** 国省代码: 广东;44
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 一种 主线 失效 方法 装置
【说明书】:

技术领域

发明涉及一种通信技术领域,尤其涉及一种非主线程失效方法和装置。

背景技术

线程(thread),有时被称为轻量级进程(Lightweight Process,LWP),是程序执行流的最小单元。一个标准的线程由线程ID,当前指令指针,寄存器集合和堆栈组成。另外,线程是进程中的一个实体,是被系统独立调度和分派的基本单位,线程自己不拥有系统资源,只拥有一点在运行中必不可少的资源,但它可与同属一个进程的其它线程共享进程所拥有的全部资源。

线程分为主线程和非主线程,现有技术在Cocoa程序(苹果公司为Mac OS X所创建的原生面向对象的编程环境)中可以通过NSThread类的方法创建新的线程(非主线程):

+ detachNewThreadSelector:toTarget:withObject:

– initWithTarget:selector:object:

当上述创建的线程在特定情况下需要退出时,Nsthread类提供了下列两种方法:

      1、采用exit类方法,该方法通常起到的作用只是使主线程退出,却并不能使特定的线程退出。

      2、采用cancel对象方法,该方法相当于给线程设了一个标示位,但并不能立即使线程失效,只有调用该cancel对象方法后,主线程才会退出,但是对于特定的线程(非主线程),即使调用该cancel对象方法后,非主线程仍会继续执行,即该方法对非主线程是无效的。

综上,NSThread类没有提供使非主线程失效的方法,一些不必要的非主线程一直运行导致CPU资源浪费。

发明内容

本发明针对现有技术中存在的非主线程不能失效所带来的占用CPU资源的问题,提供了一种简单有效的使得非主线程失效的技术,可以避免浪费CPU运行资源。

本发明提供的一种非主线程失效方法,包括:

获取需要失效的非主线程的地址;

依据所述需要失效的非主线程的地址,利用非主线程地址对象,调用删除cancel函数,将所述需要失效的非主线程的状态标识位标记为删除状态;

接收到对所述非主线程进行操作时,判断所述非主线程的状态标识位是否为删除状态,若是,则不执行对所述非主线程的操作;若否,则执行对所述非主线程的操作。

其中,所述获取需要失效的非主线程的地址,包括:

对于采用[[NSThread alloc][initWithTarget:selector:object:]]创建的非主线程,分配一个空间保存该非主线程的地址,并将所述空间的地址作为该需要失效的非主线程的地址。

另一种实施方式中,所述获取需要失效的非主线程的地址,包括:

对于采用[NSThread detachNewThreadSelector:toTarget:withObject:]创建的非主线程,在非主线程运行的过程中,采用NSThtead类的类方法[NSThread currentThread]获取该非主线程的地址。

相应的,本发明还提供了一种非主线程失效装置,包括:

地址获取模块,用于获取需要失效的非主线程的地址;

标识设置模块,用于依据所述地址获取模块获取的需要失效的非主线程的地址,利用非主线程地址对象,调用删除cancel函数,将所述需要失效的非主线程的状态标识位标记为删除状态;

判断模块,用于接收到对所述非主线程进行操作时,判断所述非主线程的状态标识位是否为删除状态;

操作执行模块,用于在所述判断模块判断为是时,不执行对所述非主线程的操作;在所述判断模块判断为否时,执行对所述非主线程的操作。

其中,所述地址模块具体用于对于采用[[NSThread alloc][initWithTarget:selector:object:]]创建的非主线程,分配一个空间保存该非主线程的地址,并将所述空间的地址作为该需要失效的非主线程的地址。

另一种实施例中,所述地址获取模块具体用于对于采用[NSThread detachNewThreadSelector:toTarget:withObject:]创建的非主线程,在非主线程运行的过程中,采用NSThtead类的类方法[NSThread currentThread]获取该非主线程的地址。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于深圳市万兴软件有限公司,未经深圳市万兴软件有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/201110434409.0/2.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top