[发明专利]用于多线程处理的方法及装置、服务器在审
申请号: | 201611242037.0 | 申请日: | 2016-12-29 |
公开(公告)号: | CN106648872A | 公开(公告)日: | 2017-05-10 |
发明(设计)人: | 熊友军;朱德军;粟德森 | 申请(专利权)人: | 深圳市优必选科技有限公司 |
主分类号: | G06F9/48 | 分类号: | G06F9/48;G06F9/50 |
代理公司: | 北京康盛知识产权代理有限公司11331 | 代理人: | 宋卉 |
地址: | 518055 广东省深圳市南*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 用于 多线程 处理 方法 装置 服务器 | ||
技术领域
本发明涉及数据处理技术领域,特别涉及一种用于多线程处理的方法及装置和一种服务器。
背景技术
网络上的两个程序通过一个双向的通信连接实现数据的交换,这个连接的一端称为一个套接字(socket)。socket通信广泛应用于软件系统的各个领域,通常其通信数据需自定义数据格式。目前的通讯方式多采用多线程处理多个连接的一对一方式。当有大量(例如10000个)连接请求时,可能就需要有10000个线程来处理,资源消耗极大,且会产生阻塞。而一旦阻塞产生就会带来大量的线程频繁地进行上下文切换,从而使得时间消耗过大。
发明内容
本发明实施例提供了一种用于多线程处理的方法,解决多线程处理多个连接的一对一方式所带来的问题。为了对披露的实施例的一些方面有一个基本的理解,下面给出了简单的概括。该概括部分不是泛泛评述,也不是要确定关键/重要组成元素或描绘这些实施例的保护范围。其唯一目的是用简单的形式呈现一些概念,以此作为后面的详细说明的序言。
本发明实施例的一个目的是提供了一种用于多线程处理的方法。
在一些示意性实施例中,所述用于多线程处理的方法包括:创建包括多个子线程的线程池;建立一个或多个远程连接;所述一个或多个远程连接的任务队列到达后,所述多个子线程并行执行任务。
在一些示意性实施例中,所述多个子线程并行执行任务,包括:各子线程分别从所述任务队列中取出互不相同的任务,并分别执行所取出的任务。
在一些示意性实施例中,所述多个子线程执行任务时所接收的数据被缓存到在同一存储空间,所述存储空间由一个或多个单位存储空间组成。
在一些示意性实施例中,所述存储空间的部分或全部在满足释放条件时被释放,所述释放条件包括以下情况的一种或几种:a)所述存储空间内,空闲存储空间的长度达到第一阈值;b)所述存储空间内,存在空闲时间达到第二阈值的空闲存储空间;c)所述存储空间内,空闲时间达到第二阈值的空闲存储空间的长度达到第三阈值。
在一些示意性实施例中,所述存储空间的部分或全部在满足释放条件时被释放,所述释放条件包括以下情况的一种或几种:a)所述存储空间内,空闲存储空间的长度达到第一阈值;b)所述存储空间内,存在空闲时间达到第二阈值的空闲存储空间;c)所述存储空间内,空闲时间达到第二阈值的空闲存储空间的长度达到第三阈值;其中,第一阈值和第三阈值为单位存储空间长度的整数倍。
在一些示意性实施例中,满足释放条件时,全部空闲存储空间被释放,或,空闲时间达到第四阈值的空闲存储空间被释放,或,设定长度的空闲存储空间被释放;其中,被释放空闲存储空间的长度为单位存储空间长度的整数倍。
在另一些示意性实施例中,所述用于多线程处理的方法还包括:根据任务的数量删除或增加子线程,包括:当通信任务的数量小于第一阈值时,删除一个或多个子线程;当通信任务的数量大于第二阈值时,创建一个或多个新的子线程。
本发明实施例的另一个目的是提供一种用于多线程处理的装置。
在一些示意性实施例中,所述用于多线程处理的装置包括:第一单元,用于创建包括多个子线程的线程池;第二单元,用于建立一个或多个远程连接;第三单元,用于在所述一个或多个远程连接的任务队列到达后,管理所述多个子线程并行执行任务。
在一些示意性实施例中,所述第三单元包括:任务调取单元,用于调度各子线程分别从所述任务队列中取出互不相同的任务;和,任务执行单元,用于调度各子线程分别执行所取出的任务。
在另一些示意性实施例中,所述用于多线程处理的装置还包括提供存储空间的存储单元,用于缓存所述多个子线程执行任务时所接收的数据,所述存储空间由一个或多个单位存储空间组成。
在一些示意性实施例中,所述存储空间的部分或全部在满足释放条件时被释放,所述释放条件包括以下情况的一种或几种:a)所述存储空间内,空闲存储空间的长度达到第一阈值;b)所述存储空间内,存在空闲时间达到第二阈值的空闲存储空间;c)所述存储空间内,空闲时间达到第二阈值的空闲存储空间的长度达到第三阈值。
在一些示意性实施例中,所述存储空间的部分或全部在满足释放条件时被释放,所述释放条件包括以下情况的一种或几种:a)所述存储空间内,空闲存储空间的长度达到第一阈值;b)所述存储空间内,存在空闲时间达到第二阈值的空闲存储空间;c)所述存储空间内,空闲时间达到第二阈值的空闲存储空间的长度达到第三阈值;其中,第一阈值和第三阈值为单位存储空间长度的整数倍。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于深圳市优必选科技有限公司,未经深圳市优必选科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201611242037.0/2.html,转载请声明来源钻瓜专利网。
- 上一篇:糖纸(好运酥)
- 下一篇:地膜(新式厚薄相间有色JTC‑015)