CN101355577A - 一种多线程通讯程序中防止线程吊死的方法 - Google Patents
一种多线程通讯程序中防止线程吊死的方法 Download PDFInfo
- Publication number
- CN101355577A CN101355577A CNA2008101192639A CN200810119263A CN101355577A CN 101355577 A CN101355577 A CN 101355577A CN A2008101192639 A CNA2008101192639 A CN A2008101192639A CN 200810119263 A CN200810119263 A CN 200810119263A CN 101355577 A CN101355577 A CN 101355577A
- Authority
- CN
- China
- Prior art keywords
- thread
- tcp
- sub
- link information
- connects
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/485—Task life-cycle, e.g. stopping, restarting, resuming execution
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
- H04L69/165—Combined use of TCP and UDP protocols; selection criteria therefor
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Communication Control (AREA)
Abstract
本发明提供了一种多线程通讯程序中防止线程吊死的方法。所述方法包括:第一子线程检测到本子线程对应的第一TCP连接发生异常时,在第一TCP连接的链路信息中设置退出标志位并退出本子线程;主控线程周期性地轮询所述链路信息表,并在检测到第一TCP连接的链路信息中的退出标志位时,关闭第一TCP连接,杀死第一TCP连接对应的所有剩余子线程,并清空第一TCP连接的链路信息。按照本发明,可以防止通信程序中发生线程吊死,保证通讯程序的正常运行。
Description
技术领域
本发明涉及多线程控制技术领域,具体涉及一种多线程通讯程序中防止线程吊死的方法。
背景技术
随着智能网的发展,智能网的通讯程序需要链接的节点日益增多,通讯数据量也逐渐加大,对通讯程序的效率要求也相应地提高。目前使用的智能网通讯程序,大都采用多线程架构,即程序中存在一个主控线程,用于处理建链(建立TCP连接)请求或发起建链请求。主控线程针对每一个TCP连接上的节点,创建一对子线程,即接收子线程和发生子线程,分别用于在该TCP连接上接收和发送消息。主控线程还将节点模块号、局号、IP地址、发送子线程和接收子线程的线程ID(标识)号等信息记录到全局的链路信息表中。
当新建链路或出现断链情况时,通信程序需要新建发送、接收子线程或关闭发送、接收子线程,并相应地更新链路信息表中的对应信息。由于通讯主控线程、接收子线程或发送子线程中的任何一个都可能会更新链路信息表,一般通过互斥锁来保证同时只有一个线程操作链路信息表。由于通讯主控线程、接收子线程、发送子线程是同时运行的,当接收子线程或发送子线程发现链路异常,会在获取到互斥锁后,更新链路信息表,同时主控线程由于没有收到心跳消息的原因,也检测到链路异常,此时主控线程会关闭链路,并回收对应链路的线程资源,一般为杀死线程。如果接收或发送子线程在获取到互斥锁的情况下被主控线程杀死,会导致互斥锁不可用,主控线程下次获取互斥锁时,会陷入无限等待状态,从而导致线程吊死。
可以看出,现有技术在智能网中使用多线程模式进行机器间通讯时,主控线程在关闭链路对应的线程时,可能导致通讯线程吊死情况的发生。
发明内容
本发明所要解决的技术问题是提供一种多线程通讯程序中防止线程吊死的方法,防止通信程序中发生线程吊死,保证通讯程序的正常运行。
为解决上述技术问题,本发明提供方案如下:
一种多线程通讯程序中防止线程吊死的方法,所述通讯程序包括:
用于发起建链请求和/或处理建链请求的主控线程;
至少一对子线程,其中,每一对子线程对应于一条TCP连接,包括在该TCP连接上接收消息的接收子线程和发送消息的发送子线程;
以及用于保存每条TCP连接的链路信息的链路信息表;
所述方法包括:
第一子线程检测到本子线程对应的第一TCP连接发生异常时,在第一TCP连接的链路信息中设置退出标志位并退出本子线程;
主控线程周期性地轮询所述链路信息表,并在检测到第一TCP连接的链路信息中的退出标志位时,关闭第一TCP连接,杀死第一TCP连接对应的所有剩余子线程,并清空第一TCP连接的链路信息。
优选地,上述方法中,第一子线程进一步根据所述第一TCP连接上是否发生发送错误或接收错误,检测所述第一TCP连接是否发生异常。
优选地,上述方法中,所述第一子线程在退出本子线程失败时,进一步进入休眠状态并在第一TCP连接的链路信息中设置标识第一子线程处于休眠状态的状态信息;
所述主控线程在检测到所述状态信息后,杀死处于休眠状态的第一子线程。
优选地,上述方法中,所述主控线程进一步通过关闭第一TCP连接的套接字描述符,关闭所述第一TCP连接。
优选地,上述方法中,所述主控线程进一步根据第一TCP连接的链路信息中保存的子线程ID号,杀死第一TCP连接对应的所有剩余子线程。
本发明还提供了另一种多线程通讯程序中防止线程吊死的方法,所述通讯程序包括:
用于发起建链请求和/或处理建链请求的主控线程;
至少一对子线程,其中,每一对子线程对应于一条TCP连接,包括在该TCP连接上接收消息的接收子线程和发送消息的发送子线程;
以及用于保存每条TCP连接的链路信息的链路信息表;
所述方法包括:
主控线程检测到第一TCP连接发生异常时,关闭第一TCP连接;
第一TCP连接对应的子线程检测到所述第一TCP连接发生异常,则在第一TCP连接的链路信息中设置退出标志位并退出本子线程;
主控线程周期性地轮询所述链路信息表,当检测到第一TCP连接的链路信息中的退出标志位时,杀死第一TCP连接对应的所有剩余子线程,并清空第一TCP连接的链路信息。
优选地,上述方法中,第一TCP连接对应的子线程进一步根据所述第一TCP连接上是否发生发送错误或接收错误,检测所述第一TCP连接是否发生异常。
优选地,上述方法中,第一TCP连接对应的子线程在退出本子线程失败时,进一步进入休眠状态并在第一TCP连接的链路信息中设置标识本子线程处于休眠状态的状态信息;
所述主控线程在检测到所述状态信息后,杀死处于休眠状态的子线程。
优选地,上述方法中,所述主控线程进一步通过关闭第一TCP连接的套接字描述符,关闭所述第一TCP连接。
优选地,上述方法中,所述主控线程进一步根据第一TCP连接的链路信息中保存的子线程ID号,杀死第一TCP连接对应的所有剩余子线程。
从以上所述可以看出,本发明提供的多线程通讯程序中防止线程吊死的方法,通讯子线程在检测到连接异常时,通过设置退出标志位来指示异常,接收子线程和发送子线程可以分别设置退出标志位,主控线程根据退出标志位杀死对应的子线程,从而保证了主控线程、接收/发送子线程不会对链路信息表中的同一内容同时进行操作,即,本实施例通过特定的标志位和流程,避免了使用互斥锁,从而从根本上避免了因为互斥锁不可用而导致的线程吊死,保证了通讯程序的正常运行。并且,在本发明中,主控线程检测到TCP连接发生异常后,并没有直接杀死该TCP连接对应的接收/发送子线程,而是首先关闭该TCP连接,并等待该TCP连接的接收/发送子线程主动退出,在接收/发送子线程退出失败后,再杀死接收/发送子线程,从而避免了直接杀死这些子线程,可能导致的数据接收或发送失败对通信程序带来无法确定的影响。最后,本发明可以采用标准C语言实现,具有很好的可移植性。
附图说明
图1为本发明实施例适用的智能网多SCP系统的结构图;
图2为本发明实施例的系统架构图;
图3为本发明实施例所述防止线程吊死的方法流程图;
图4为本发明另一实施例所述防止线程吊死的方法流程图。
具体实施方式
本发明所述方法,在链路发生异常时,通过特定的处理顺序和处理方式,使得主控线程、接收/发送子线程不会对链路信息表中的同一信息同时进行更新,从而各个线程在不需要获取互斥锁的情况下即可对链路信息表进行更新,避免通信程序中发生线程吊死,保障了业务的正常运行。以下结合附图,通过具体实施例对本发明作详细说明。
以下实施例以智能网多SCP系统为例进行说明。如图1所示,这种系统有多个业务控制点(SCP,Service Control Point),每个SCP上都有业务运行,并有自己的业务。多个SCP由一个业务管理点(SMP,Service ManagementPoint)管理。在SCP之间、SCP和SMP之间都建立TCP长链接。
图2为本发明实施例的系统架构图。如图2所示,SCP、SMP上的通讯程序在启动时都会创建一个用于发起建链请求和/或处理建链请求的主控线程,然后与其它SCP、SMP建立TCP长连接,并对于每条建立上的连接,创建与之对应的一对子线程(即发送子线程和接收子线程),分别进行发送、接收消息工作。并且,创建一个全局的链路信息表,将每条TCP连接的链路信息记录在该链路信息表。
在TCP连接发生异常时,通讯子线程(包括接收/发送子线程)和主控线程都可能检测到该TCP连接发生异常,下面分别对两种情况下进行说明。
1.通讯子线程检测到TCP连接异常
如图3所示,本实施例所述多线程通讯程序中防止线程吊死的方法,包括以下步骤:
步骤31,通讯程序启动主控线程,并与其它SCP、SMP建立TCP长连接,并对于每条建立上的连接,创建与之对应的一对子线程,以及在链路信息表中记录各个TCP连接的链路信息。
步骤32,当通讯子线程在其对应的某条TCP连接(为描述方便,以下称为第一TCP连接)上的接收消息或发送消息发生错误,此时判断该第一TCP连接发生异常,通讯子线程在第一TCP连接的链路信息中设置退出标志位(EXITFLAG),用于指示第一TCP连接对应的接收/发送子线程是否因为发生异常而需要退出;并且,该通讯子线程尝试主动退出,如果退出失败,则该通讯子线程进入休眠状态。这里的通讯子线程可以是第一TCP连接所对应的接收子线程或发送子线程。
步骤33,主控线程在启动后,便开始周期性地轮询链路信息表,判断链路信息表中各个TCP连接的链路信息中是否存在EXITFLAG标志位已置位的情形。由于链路信息表中的第一TCP连接的链路信息中已将EXITFLAG标志位置位,因此,当主控线程轮询到该第一TCP连接时,检测到EXITFLAG标志位已置位,此时,主控线程关闭套接字该第一TCP连接的(Socket)描述符,从而关闭第一TCP连接,并根据第一TCP连接的链路信息中所保存的第一TCP连接对应的通讯子线程的线程标识(ID)号,杀死(kill)第一TCP连接对应的通讯子线程,并更新链路信息表,将第一TCP连接对应的链路信息清空。这里,由于第一TCP连接对应的某个通信子线程可能已经主动成功退出,此时,主控线程只需要杀死第一TCP连接对应的所有剩余子线程。此后,主控线程继续轮询下一个TCP连接,执行类似的判断操作。
上述步骤32中,通讯子线程在退出失败进入睡眠状态时,还可以进一步在链路信息中设置标识该子线程处于休眠状态的状态信息,从而在步骤33中,主控线程在检测到该状态信息后,可以据此杀死处于休眠状态的该通讯子线程。
从以上所述可以看出,本实施例中,通讯子线程在检测到连接异常时,通过设置退出标志位来指示异常,接收子线程和发送子线程可以分别设置退出标志位,主控线程根据退出标志位杀死对应的子线程,从而保证了主控线程、接收/发送子线程不会对链路信息表中的同一内容同时进行操作,即,本实施例通过特定的标志位和流程,避免了使用互斥锁,从而从根本上避免了因为互斥锁不可用而导致的线程吊死,保证了通讯程序的正常运行。
2.主控线程检测到TCP连接异常
如图4所示,本实施例所述多线程通讯程序中防止线程吊死的方法,包括以下步骤:
步骤41,通讯程序启动主控线程,并与其它SCP、SMP建立TCP长连接,并对于每条建立上的连接,创建与之对应的一对子线程,以及在链路信息表中记录各个TCP连接的链路信息。
步骤42,主控线程在启动后,定时检测每条TCP连接的心跳消息是否正常,即是否收到该TCP连接对端的心跳消息:如果在规定时间(如20秒)内没有收到对端的心跳消息,则认为该TCP连接异常,此时,主控线程通过关闭该TCP连接的套接字(socket)描述符来关闭该TCP连接(这里,假设该TCP连接为第一TCP连接);
步骤43,由于第一TCP连接被关闭,从而导致该第一TCP连接的通讯子线程发生接收或发送错误,在检测到上述错误之后,通讯子线程设置在第一TCP连接对应的链路信息中设置EXITFLAG标志位,并尝试主动退出:如果退出失败,则进入休眠状态。
步骤44,主控线程在启动后,便开始周期性地轮询链路信息表,判断链路信息表中各个TCP连接的链路信息中是否存在EXITFLAG标志位已置位的情形。由于链路信息表中的第一TCP连接的链路信息中已将EXITFLAG标志位置位,因此,当主控线程轮询到该第一TCP连接时,检测到EXITFLAG标志位已置位,此时,主控线程根据第一TCP连接的链路信息中所保存的第一TCP连接对应的通讯子线程的线程标识(ID)号,杀死(kill)第一TCP连接对应的通讯子线程,并在线程资源(如堆栈等)回收完毕后,更新链路信息表,将第一TCP连接对应的链路信息清空。这里,由于第一TCP连接对应的某个通信子线程可能已经主动成功退出,此时,主控线程只需要杀死第一TCP连接对应的所有剩余子线程。此后,主控线程继续轮询下一个TCP连接,执行类似的判断操作。
在本实施例中,主控线程检测到第一TCP连接发生异常后,并没有直接杀死第一TCP连接对应的通信子线程,而是首先关闭第一TCP连接,并等待第一TCP连接的通信子线程主动退出,在通信子线程退出失败后,再杀死通信子线程。这种做法的原因在于:在第一TCP连接发生异常时,其接收/发送子线程可能仍然在接收或发送数据,如果直接杀死这些子线程,可能导致数据接收或发送失败,对通信程序带来无法确定的影响,因此,本实施例让子线程主动退出,以避免上述情况的发生。
综上所述,本发明实施例中通过设置退出标志位以及特定的流程,有效的防止了通讯程序中的线程吊死,避免SCP、SMP之间长时间通讯中断。
本发明实施例中以SCP、SMP之间通讯程序作为具体实施,但本发明并不局限于此。本发明所属领域的技术人员应能理解,在不偏离本发明的宗旨和精神的情况下,可以对它进行形式和细节的显而易见的修改。因此,以上描述的实施例是说明性而不是限制性的,在不脱离本发明的精神和范围的情况下,所有的变换和修改都在本发明的保护范围之内。
Claims (10)
1.一种多线程通讯程序中防止线程吊死的方法,所述通讯程序包括:
用于发起建链请求和/或处理建链请求的主控线程;
至少一对子线程,其中,每一对子线程对应于一条TCP连接,包括在该TCP连接上接收消息的接收子线程和发送消息的发送子线程;
以及用于保存每条TCP连接的链路信息的链路信息表;
其特征在于,所述方法包括:
第一子线程检测到本子线程对应的第一TCP连接发生异常时,在第一TCP连接的链路信息中设置退出标志位并退出本子线程;
主控线程周期性地轮询所述链路信息表,并在检测到第一TCP连接的链路信息中的退出标志位时,关闭第一TCP连接,杀死第一TCP连接对应的所有剩余子线程,并清空第一TCP连接的链路信息。
2.如权利要求1所述的方法,其特征在于,第一子线程进一步根据所述第一TCP连接上是否发生发送错误或接收错误,检测所述第一TCP连接是否发生异常。
3.如权利要求1所述的方法,其特征在于,
所述第一子线程在退出本子线程失败时,进一步进入休眠状态并在第一TCP连接的链路信息中设置标识第一子线程处于休眠状态的状态信息;
所述主控线程在检测到所述状态信息后,杀死处于休眠状态的第一子线程。
4.如权利要求1所述的方法,其特征在于,所述主控线程进一步通过关闭第一TCP连接的套接字描述符,关闭所述第一TCP连接。
5.如权利要求1所述的方法,其特征在于,所述主控线程进一步根据第一TCP连接的链路信息中保存的子线程ID号,杀死第一TCP连接对应的所有剩余子线程。
6.一种多线程通讯程序中防止线程吊死的方法,所述通讯程序包括:
用于发起建链请求和/或处理建链请求的主控线程;
至少一对子线程,其中,每一对子线程对应于一条TCP连接,包括在该TCP连接上接收消息的接收子线程和发送消息的发送子线程;
以及用于保存每条TCP连接的链路信息的链路信息表;
其特征在于,所述方法包括:
主控线程检测到第一TCP连接发生异常时,关闭第一TCP连接;
第一TCP连接对应的子线程检测到所述第一TCP连接发生异常,则在第一TCP连接的链路信息中设置退出标志位并退出本子线程;
主控线程周期性地轮询所述链路信息表,当检测到第一TCP连接的链路信息中的退出标志位时,杀死第一TCP连接对应的所有剩余子线程,并清空第一TCP连接的链路信息。
7.如权利要求6所述的方法,其特征在于,第一TCP连接对应的子线程进一步根据所述第一TCP连接上是否发生发送错误或接收错误,检测所述第一TCP连接是否发生异常。
8.如权利要求6所述的方法,其特征在于,
第一TCP连接对应的子线程在退出本子线程失败时,进一步进入休眠状态并在第一TCP连接的链路信息中设置标识本子线程处于休眠状态的状态信息;
所述主控线程在检测到所述状态信息后,杀死处于休眠状态的子线程。
9.如权利要求6所述的方法,其特征在于,所述主控线程进一步通过关闭第一TCP连接的套接字描述符,关闭所述第一TCP连接。
10.如权利要求6所述的方法,其特征在于,所述主控线程进一步根据第一TCP连接的链路信息中保存的子线程ID号,杀死第一TCP连接对应的所有剩余子线程。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2008101192639A CN101355577B (zh) | 2008-09-01 | 2008-09-01 | 一种多线程通讯程序中防止线程吊死的方法 |
PCT/CN2009/073424 WO2010022635A1 (zh) | 2008-09-01 | 2009-08-21 | 多线程通讯程序中防止线程吊死的方法 |
EP09809220.8A EP2323344A4 (en) | 2008-09-01 | 2009-08-21 | Method for preventing thread hanging in a multi-thread communication program |
BRPI0917076A BRPI0917076A2 (pt) | 2008-09-01 | 2009-08-21 | método para evitar a finalização de tarefa em um progama de comunicação multitarefa |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2008101192639A CN101355577B (zh) | 2008-09-01 | 2008-09-01 | 一种多线程通讯程序中防止线程吊死的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101355577A true CN101355577A (zh) | 2009-01-28 |
CN101355577B CN101355577B (zh) | 2011-04-20 |
Family
ID=40308165
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2008101192639A Expired - Fee Related CN101355577B (zh) | 2008-09-01 | 2008-09-01 | 一种多线程通讯程序中防止线程吊死的方法 |
Country Status (4)
Country | Link |
---|---|
EP (1) | EP2323344A4 (zh) |
CN (1) | CN101355577B (zh) |
BR (1) | BRPI0917076A2 (zh) |
WO (1) | WO2010022635A1 (zh) |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2010022635A1 (zh) * | 2008-09-01 | 2010-03-04 | 中兴通讯股份有限公司 | 多线程通讯程序中防止线程吊死的方法 |
CN102426540A (zh) * | 2011-11-14 | 2012-04-25 | 苏州阔地网络科技有限公司 | 一种分布式即时通信软件中全局会话备份切换方法及装置 |
CN102609308A (zh) * | 2011-12-22 | 2012-07-25 | 深圳市万兴软件有限公司 | 一种非主线程失效方法及装置 |
CN105975325A (zh) * | 2016-04-22 | 2016-09-28 | 浙江工业大学 | 一种自动跳出阻塞式代码段的控制方法 |
WO2016177184A1 (zh) * | 2015-07-20 | 2016-11-10 | 中兴通讯股份有限公司 | 建链处理方法及装置 |
CN107196817A (zh) * | 2016-03-15 | 2017-09-22 | 中国移动通信集团河南有限公司 | Ping线程监测方法、网络服务状态监测方法及客户端 |
CN107256180A (zh) * | 2017-05-19 | 2017-10-17 | 腾讯科技(深圳)有限公司 | 数据处理方法、装置及终端 |
CN107967176A (zh) * | 2017-11-22 | 2018-04-27 | 郑州云海信息技术有限公司 | 一种Samba多线程架构异常处理方法及相关装置 |
CN108037988A (zh) * | 2017-12-11 | 2018-05-15 | 郑州云海信息技术有限公司 | 一种samba多线程性能打点方法及装置 |
CN113259415A (zh) * | 2016-07-30 | 2021-08-13 | 华为技术有限公司 | 一种网络报文处理方法、装置及网络服务器 |
CN115113931A (zh) * | 2022-07-22 | 2022-09-27 | 瀚博半导体(上海)有限公司 | 数据处理系统、方法、人工智能芯片、电子设备和介质 |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104836683B (zh) * | 2015-04-01 | 2018-06-05 | 上海大唐移动通信设备有限公司 | 一种线程重连的方法及装置 |
CN110362389A (zh) * | 2019-05-28 | 2019-10-22 | 深圳市道通智能航空技术有限公司 | 多线程退出方法及移动终端 |
CN112612581B (zh) * | 2020-12-02 | 2024-02-13 | 北京和利时系统工程有限公司 | 线程主动退出方法和装置 |
CN113485839A (zh) * | 2021-07-27 | 2021-10-08 | 中国银行股份有限公司 | 一种数据处理方法及系统 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6529962B1 (en) * | 1999-02-05 | 2003-03-04 | International Business Machines Corporation | Preserving thread identity during remote calls |
US7386610B1 (en) * | 2000-09-18 | 2008-06-10 | Hewlett-Packard Development Company, L.P. | Internet protocol data mirroring |
US20030065741A1 (en) * | 2001-09-29 | 2003-04-03 | Hahn Vo | Concurrent bidirectional network communication utilizing send and receive threads |
CN100450125C (zh) * | 2004-06-08 | 2009-01-07 | 中兴通讯股份有限公司 | 语音业务交换设备的防吊死存活性测试方法 |
CN1801101A (zh) * | 2006-01-17 | 2006-07-12 | 浙江大学 | Java操作系统中线程的实现和线程状态切换的方法 |
US20080040494A1 (en) * | 2006-07-28 | 2008-02-14 | Alok Kumar | Partitioning a Transmission Control Protocol (TCP) Control Block (TCB) |
US20080209422A1 (en) * | 2007-02-28 | 2008-08-28 | Coha Joseph A | Deadlock avoidance mechanism in multi-threaded applications |
CN101355577B (zh) * | 2008-09-01 | 2011-04-20 | 中兴通讯股份有限公司 | 一种多线程通讯程序中防止线程吊死的方法 |
-
2008
- 2008-09-01 CN CN2008101192639A patent/CN101355577B/zh not_active Expired - Fee Related
-
2009
- 2009-08-21 WO PCT/CN2009/073424 patent/WO2010022635A1/zh active Application Filing
- 2009-08-21 EP EP09809220.8A patent/EP2323344A4/en not_active Withdrawn
- 2009-08-21 BR BRPI0917076A patent/BRPI0917076A2/pt not_active Application Discontinuation
Cited By (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2010022635A1 (zh) * | 2008-09-01 | 2010-03-04 | 中兴通讯股份有限公司 | 多线程通讯程序中防止线程吊死的方法 |
CN102426540A (zh) * | 2011-11-14 | 2012-04-25 | 苏州阔地网络科技有限公司 | 一种分布式即时通信软件中全局会话备份切换方法及装置 |
CN102426540B (zh) * | 2011-11-14 | 2013-06-05 | 苏州阔地网络科技有限公司 | 一种分布式即时通信软件中全局会话备份切换方法及装置 |
CN102609308A (zh) * | 2011-12-22 | 2012-07-25 | 深圳市万兴软件有限公司 | 一种非主线程失效方法及装置 |
WO2016177184A1 (zh) * | 2015-07-20 | 2016-11-10 | 中兴通讯股份有限公司 | 建链处理方法及装置 |
CN107196817A (zh) * | 2016-03-15 | 2017-09-22 | 中国移动通信集团河南有限公司 | Ping线程监测方法、网络服务状态监测方法及客户端 |
CN107196817B (zh) * | 2016-03-15 | 2020-07-14 | 中国移动通信集团河南有限公司 | Ping线程监测方法、网络服务状态监测方法及客户端 |
CN105975325A (zh) * | 2016-04-22 | 2016-09-28 | 浙江工业大学 | 一种自动跳出阻塞式代码段的控制方法 |
CN113259415B (zh) * | 2016-07-30 | 2023-03-10 | 华为技术有限公司 | 一种网络报文处理方法、装置及网络服务器 |
US11689646B2 (en) | 2016-07-30 | 2023-06-27 | Huawei Technologies Co., Ltd. | Network packet processing method and apparatus and network server |
CN113259415A (zh) * | 2016-07-30 | 2021-08-13 | 华为技术有限公司 | 一种网络报文处理方法、装置及网络服务器 |
CN107256180A (zh) * | 2017-05-19 | 2017-10-17 | 腾讯科技(深圳)有限公司 | 数据处理方法、装置及终端 |
CN107967176A (zh) * | 2017-11-22 | 2018-04-27 | 郑州云海信息技术有限公司 | 一种Samba多线程架构异常处理方法及相关装置 |
CN108037988A (zh) * | 2017-12-11 | 2018-05-15 | 郑州云海信息技术有限公司 | 一种samba多线程性能打点方法及装置 |
CN115113931B (zh) * | 2022-07-22 | 2023-02-14 | 瀚博半导体(上海)有限公司 | 数据处理系统、方法、人工智能芯片、电子设备和介质 |
CN115113931A (zh) * | 2022-07-22 | 2022-09-27 | 瀚博半导体(上海)有限公司 | 数据处理系统、方法、人工智能芯片、电子设备和介质 |
Also Published As
Publication number | Publication date |
---|---|
CN101355577B (zh) | 2011-04-20 |
EP2323344A1 (en) | 2011-05-18 |
EP2323344A4 (en) | 2018-01-10 |
BRPI0917076A2 (pt) | 2016-07-05 |
WO2010022635A1 (zh) | 2010-03-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101355577B (zh) | 一种多线程通讯程序中防止线程吊死的方法 | |
EP2260611B1 (en) | Automated power topology discovery | |
CN103001809B (zh) | 用于云存储系统的服务节点状态监控方法 | |
US20170302476A1 (en) | Associating VXLANS With Tunnels | |
CN105591796B (zh) | 网络设备配置方法以及装置 | |
CN106993043B (zh) | 基于代理的数据通信系统和方法 | |
CN102263651A (zh) | Snmp网络管理系统中局端设备连接状态的检测方法 | |
CN104866528B (zh) | 多平台数据采集方法及系统 | |
CN104980524A (zh) | 一种weblogic连接池失效监测方法 | |
CN101388903A (zh) | 移动企业it标准化管理平台 | |
CN102957623A (zh) | 一种边界网关协议邻居的维护方法和设备 | |
CN101826985B (zh) | 一种基于插件的集中信令跟踪方法及系统 | |
CN105490849B (zh) | 应用系统的自动部署方法及系统 | |
EP2654278A1 (en) | Network maintenance system, method and device | |
CN106487696B (zh) | 链路故障检测方法及装置 | |
CN105072185A (zh) | 一种tr069远程监控方法、系统和通讯设备 | |
CN105426118B (zh) | 一种双控系统中利用串口备份心跳通道的方法 | |
CN105007143A (zh) | 一种实现呼叫保存和恢复的方法及系统 | |
CN105119759B (zh) | 一种针对特定组网实现一键配置的方法 | |
CN103179685A (zh) | 一种通信链路维护方法及系统 | |
CN108964955A (zh) | 一种丢失Trap报文查找方法和网络管理系统及一种SNMP代理 | |
CN102685247B (zh) | 业务套件的信息收集方法、节点服务器及数据存储系统 | |
CN102739443A (zh) | Pon系统中olt通信模块及olt间通信实现方法 | |
CN209746400U (zh) | It设备监控管理系统 | |
CN106656661B (zh) | 一种实现设备间线性保护机制互通的方法、装置及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20110420 Termination date: 20160901 |
|
CF01 | Termination of patent right due to non-payment of annual fee |