CN101355577A - 一种多线程通讯程序中防止线程吊死的方法 - Google Patents

一种多线程通讯程序中防止线程吊死的方法 Download PDF

Info

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
Application number
CNA2008101192639A
Other languages
English (en)
Other versions
CN101355577B (zh
Inventor
李冰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
ZTE Corp
Original Assignee
ZTE Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by ZTE Corp filed Critical ZTE Corp
Priority to CN2008101192639A priority Critical patent/CN101355577B/zh
Publication of CN101355577A publication Critical patent/CN101355577A/zh
Priority to BRPI0917076A priority patent/BRPI0917076A2/pt
Priority to PCT/CN2009/073424 priority patent/WO2010022635A1/zh
Priority to EP09809220.8A priority patent/EP2323344A4/en
Application granted granted Critical
Publication of CN101355577B publication Critical patent/CN101355577B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/485Task life-cycle, e.g. stopping, restarting, resuming execution
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • H04L69/165Combined 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连接对应的所有剩余子线程。
CN2008101192639A 2008-09-01 2008-09-01 一种多线程通讯程序中防止线程吊死的方法 Expired - Fee Related CN101355577B (zh)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CN2008101192639A CN101355577B (zh) 2008-09-01 2008-09-01 一种多线程通讯程序中防止线程吊死的方法
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
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

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)

* Cited by examiner, † Cited by third party
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 (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104836683B (zh) * 2015-04-01 2018-06-05 上海大唐移动通信设备有限公司 一种线程重连的方法及装置
CN112612581B (zh) * 2020-12-02 2024-02-13 北京和利时系统工程有限公司 线程主动退出方法和装置

Family Cites Families (8)

* Cited by examiner, † Cited by third party
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 中兴通讯股份有限公司 一种多线程通讯程序中防止线程吊死的方法

Cited By (16)

* Cited by examiner, † Cited by third party
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
BRPI0917076A2 (pt) 2016-07-05
WO2010022635A1 (zh) 2010-03-04
EP2323344A1 (en) 2011-05-18
EP2323344A4 (en) 2018-01-10

Similar Documents

Publication Publication Date Title
CN101355577B (zh) 一种多线程通讯程序中防止线程吊死的方法
EP2260611B1 (en) Automated power topology discovery
CN103001809B (zh) 用于云存储系统的服务节点状态监控方法
US20170302476A1 (en) Associating VXLANS With Tunnels
CN103973424B (zh) 缓存系统中的故障解决方法和设备
CN104866528B (zh) 多平台数据采集方法及系统
CN102263651A (zh) Snmp网络管理系统中局端设备连接状态的检测方法
CN104980524A (zh) 一种weblogic连接池失效监测方法
CN101388903A (zh) 移动企业it标准化管理平台
CN105591796B (zh) 网络设备配置方法以及装置
CN102437921B (zh) 配置信息的存储方法和网络设备
CN108123826B (zh) 一种跨区数据的交互系统及方法
CN103024058A (zh) Web服务调用方法及系统
CN101826985B (zh) 一种基于插件的集中信令跟踪方法及系统
WO2016110070A1 (zh) 数据获取方法及装置、存储介质
CN107395768B (zh) 用于文件安全传输的双机自适应负载均衡方法
CN103051484B (zh) 会话业务处理方法、系统和会话边缘控制器
EP2654278A1 (en) Network maintenance system, method and device
CN105072185A (zh) 一种tr069远程监控方法、系统和通讯设备
CN105426118B (zh) 一种双控系统中利用串口备份心跳通道的方法
CN103179685A (zh) 一种通信链路维护方法及系统
CN102739443A (zh) Pon系统中olt通信模块及olt间通信实现方法
CN209746400U (zh) It设备监控管理系统
CN106656661B (zh) 一种实现设备间线性保护机制互通的方法、装置及系统
CN107070676A (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