CN103092703A - Java资源访问的同步方法和装置 - Google Patents

Java资源访问的同步方法和装置 Download PDF

Info

Publication number
CN103092703A
CN103092703A CN2011103470039A CN201110347003A CN103092703A CN 103092703 A CN103092703 A CN 103092703A CN 2011103470039 A CN2011103470039 A CN 2011103470039A CN 201110347003 A CN201110347003 A CN 201110347003A CN 103092703 A CN103092703 A CN 103092703A
Authority
CN
China
Prior art keywords
thread
watch
dog
access
resource
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.)
Pending
Application number
CN2011103470039A
Other languages
English (en)
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.)
International Business Machines Corp
Original Assignee
International Business Machines 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 International Business Machines Corp filed Critical International Business Machines Corp
Priority to CN2011103470039A priority Critical patent/CN103092703A/zh
Priority to US13/661,842 priority patent/US20130145374A1/en
Publication of CN103092703A publication Critical patent/CN103092703A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • 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/52Program synchronisation; Mutual exclusion, e.g. by means of semaphores

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明公开一种Java资源访问的同步方法和装置,该方法包括:为资源集合的第一访问接口配置第一监控器和为第二访问接口配置第二监控器;为第一监控器配置第一等待队列和为第二监控器配置第二等待队列;响应于第一访问接口接收到线程对资源的访问请求,第一监控器查询资源集合中是否有资源满足该访问请求;响应于查询结果为是,该线程获得资源并通知第二监控器唤醒第二等待队列中的线程;响应于查询结果为否,该第一监控器将该线程放入第一等待队列进行排队。

Description

Java资源访问的同步方法和装置
技术领域
本发明涉及Java资源访问,特别涉及Java资源访问的同步方法和装置。
背景技术
目前,多核和多线程服务器的应用成为主流。Java作为服务器应用的主要开发语言之一,能够实现和管理多线程应用程序,Java利用监控器(Monitor)机制实现了线程同步。图1示出现有技术Java资源访问的监控器模型,用于数据保护的监控器包括了三个部分,入口区、拥有区和等待区,入口区和等待区内可能有多个线程,但是任何时刻最多只有一个线程拥有该监控器。线程对监控器的操作原语如下:
-“进入”监控器指线程进入入口区,准备获取监控器,此时如果没有别的线程拥有该监控器,则这个线程拥有此监控器,否则它要在入口区等待;
-“获取”监控器指在入口区和等待区的线程按照某种策略机制被选择可拥有该监控器时的操作;
-“拥有”监控器的线程在它拥有该监控器的时候排他地占有它,从而阻止其它线程的进入;
-“释放”监控器拥有锁监控器的线程执行完监控器范围内的代码或异常退出之后,要释放掉它所拥有的此监控器。
监控器对线程的调度原则是:一次至多一个线程能够在临界区内;不能让一个线程无限地留在临界区;不能强迫一个线程无限地等待进入临界区;不能因所选的调度策略而造成线程的饥饿(Starving),甚至死锁(Dead Lock),对于生产者线程和消费者线程的模型,同一时间内只能有一个生产者线程生产,同一时间内只能有一个消费者线程消费,生产者线程生产的同时消费者线程不能消费,资源集合满时生产者线程不能继续生产,资源集合空时消费者线程不能继续消费。
然而,现有技术的监控器机制实现的线程同步不能区分等待线程的类型,而是从等待线程中随机选择一个线程使其获得监控器,例如,对于生产者和消费者的模型,在资源集合中存在可用资源但不存在可用空间时,如果随机选择的是生产者线程,此时需要向资源集合中增加资源的生产者线程就无法获得监控器。而在资源集合中存在可用空间但不存在可用资源时,如果随机选择的是消费者线程,此时需要从资源集合中获得资源的消费者线程就无法获得监控器,从而使资源集合的访问性能降低,且无法扩展到较大规模的系统。在多阶段Java服务应用中存在很多队列或类似队列的资源集合,线程对资源集合访问的效率对整个应用的性能和可扩展能力至关重要。
因此需要一种在高效的Java资源的同步访问机制。
发明内容
基于上述问题,本发明提供一种在Java多线程环境下的资源访问的同步方法和装置。
根据本发明的第一方面,提供一种Java资源访问的同步方法的方法,该方法包括:为资源集合的第一访问接口配置第一监控器和为第二访问接口配置第二监控器;为第一监控器配置第一等待队列和为第二监控器配置第二等待队列;响应于第一访问接口接收到线程对资源的访问请求,第一监控器查询资源集合中是否有资源满足该访问请求;响应于查询结果为是,该线程获得资源并通知第二监控器唤醒第二等待队列中的线程;响应于查询结果为否,该第一监控器将该线程放入第一等待队列进行排队。
根据本发明的第二方面,提供一种Java资源访问的同步装置,该装置包括:监控器配置模块,被配置成为资源集合的第一访问接口配置第一监控器和为第二访问接口配置第二监控器;等待队列配置模块,被配置成为第一监控器配置第一等待队列和为第二监控器配置第二等待队列;查询模块,被配置成响应于第一访问接口接收到线程对资源的访问请求,第一监控器查询资源集合中是否有资源满足该访问请求;同步模块,被配置成响应于查询结果为是,该线程获得资源并通知第二监控器唤醒第二等待队列中的线程;排队模块,被配置成响应于查询结果为否,该第一监控器将该线程放入第一等待队列进行排队。
根据本发明的实施例的的Java资源访问的同步方法和装置,能够高效、准确阻塞和唤醒资源请求线程的Java资源的同步访问机制,对提升整个应用的性能和可扩展能力至关重要。
附图说明
结合附图,通过参考下列的实施例详细描述在Java多线程环境下的资源访问的同步方法和装置,将会更好地理解本发明本身、优选的实施方式以及本发明的目的和优点,其中:
图1示出现有技术Java资源访问的监控器模型;
图2示出根据本发明实施例的Java资源访问的同步方法;
图3示出根据本发明的一个实施例的Java资源访问的同步方法;
图4示出根据本发明的另一个实施例的Java资源访问的同步方法;
图5示出根据本发明实施例的Java资源访问的同步机制示意图;
图6示出根据本发明实施例的Java资源访问的同步机制流程图;
图7示出根据本发明的实施例的Java资源访问的同步装置框图;以及
图8示出了可以实现根据本发明的实施例的计算设备的结构方框图。
具体实施方式
以下结合附图描述根据本发明实施例的一种Java资源访问的同步方法和装置,将会更好地理解本发明的目的和优点。
图2示出根据本发明实施例的Java资源访问的同步方法,在步骤S201,为资源集合的第一访问接口配置第一监控器和为第二访问接口配置第二监控器;在步骤S202,为第一监控器配置第一等待队列和为第二监控器配置第二等待队列;在步骤S203,响应于第一访问接口接收到线程对资源的访问请求,第一监控器查询资源集合中是否有资源满足该访问请求;在步骤S204,响应于查询结果为是,该线程获得资源并通知第二监控器唤醒第二等待队列中的线程;在步骤S205,响应于查询结果为否,该第一监控器将该线程放入第一等待队列进行排队。
在步骤S201,为资源集合的第一访问接口配置第一监控器和为第二访问接口配置第二监控器,有多个访问接口访问Java资源集合,根据本发明的实施例,将Java资源集合的多个访问接口进行分类,例如分为生产者类型的访问接口和消费者类型的访问接口,根据线程的方法调用将线程分为生产者线程和消费者线程,生产者线程通过生产者类型的访问接口向资源集合中增加资源,消费者线程通过消费者类型的访问接口从资源集合获取资源。
在步骤S202,为第一监控器配置第一等待队列和为第二监控器配置第二等待队列,等待队列由监控器进行管理,在线程无法获得请求的资源时,根据线程的类型由各自的监控器放置在不同的等待队列中,例如,将生产者线程放置在一个等待队列中,将消费者线程放置在另一个等待队列中,等待监控器唤醒,防止生产者线程和消费者线程沉睡。
在步骤S203,响应于第一访问接口接收到线程对资源的访问请求,第一监控器查询资源集合中是否有资源满足该访问请求,根据本发明的实施例,对于生产者线程而言,请求的是资源集合的可用空间,对于消费者线程而言,请求的是资源集合中的数据;在步骤S204,响应于查询结果为是,该线程获得资源并通知第二监控器唤醒第二等待队列中的线程;在步骤S205,响应于查询结果为否,该第一监控器将该线程放入第一等待队列进行排队。
图3示出根据本发明的一个实施例的Java资源访问的同步方法,其中所述第一访问接口是生产者类型的访问接口以及第二访问接口是消费者类型的访问接口,并且所述第一等待队列包括生产者线程以及第二等待队列包括消费者线程。在步骤S301,为资源集合的第一访问接口配置第一监控器和为第二访问接口配置第二监控器。在步骤S302,为第一监控器配置第一等待队列和为第二监控器配置第二等待队列。在步骤S303,响应于第一访问接口接收到线程对资源集合的访问请求,第一监控器查询资源集合中是否有请求资源进一步包括响应于第一访问接口接收到线程对可用空间的访问请求,第一监控器查询资源集合中是否有可用空间,由线程调用第一监控器来查询资源集合中是否有可用空间。在步骤S304,响应于查询结果为是,该线程获得资源并由该线程通知第二监控器唤醒第二等待队列中的线程进一步包括该线程获得资源集合中的可用空间并向获得的可用空间增加数据;以及由该线程唤醒第二等待队列中的线程来获取资源集合中增加的数据。在步骤S305,响应于查询结果为否,该第一监控器将该线程放入第一等待队列进行排队,等待资源集合释放出可用空间。
图4示出根据本发明的另一个实施例的Java资源访问的同步方法,其中所述第一访问接口是消费者类型的访问接口以及第二访问接口是生产者类型的访问接口,其中所述第一等待队列包括消费者线程以及第二等待队列包括生产者线程。在步骤S401,为资源集合的第一访问接口配置第一监控器和为第二访问接口配置第二监控器。在步骤S402,为第一监控器配置第一等待队列和为第二监控器配置第二等待队列。在步骤S403,响应于第一访问接口接收到线程对资源集合的访问请求,第一监控器查询资源集合中是否有请求资源进一步包括:响应于第一访问接口接收到线程对数据的访问请求,第一监控器查询资源集合中是否有数据。在步骤S404,响应于查询结果为是,该线程获得资源集合中的数据,由该线程通知第二监控器唤醒第二等待队列中的线程来获取资源集合中释放的可用空间,具体地,如果第一监控器查询到资源集合有数据,该线程获得资源集合中的数据,资源集合释放出可用空间,与此同时,该线程通知第二监控器唤醒第二等待队列中的线程来获取资源集合中释放的可用空间。在步骤S405,响应于查询结果为否,该第一监控器将该线程放入第一等待队列进行排队。
图5示出根据本发明实施例的Java资源访问的同步机制示意图,如图所示,所述同步机制针对不同的访问接口配置了多个监控器,根据线程方法调用的类型对线程进行分类,根据本发明的实施例,将线程分为生产者线程和消费者线程,生产者线程P1、P2和P3通过第一访问接口向资源集合中增加资源,即增加数据,消费者线程C1、C2和C3通过第二访问接口从资源集合中获得资源,即获得数据,按照线程的类型划分为不同的等待队列,例如第一等待队列包括生产者线程以及第二等待队列包括消费者线程。
图6示出根据本发明实施例的Java资源访问的同步机制流程图。首先在步骤S601,将访问接口分为生产者类型的访问接口和消费者类型的访问接口;在步骤S602,为生产者类型的访问接口配置第一监控器和为消费者类型的访问接口配置第二监控器;在步骤S603,为第一监控器配置第一等待队列和为第二监控器配置第二等待队列。在步骤S604,判断接收到的资源访问请求来自生产者线程还是消费者线程?如果是生产者线程,则前进至步骤S605,生产者线程在第一监控器上注册;在步骤S606,第一监控器查询资源集合是否有可用空间;如果查询结果为是,则前进至步骤S607,该线程获得资源集合中的可用空间并向获得的可用空间增加数据,以及该线程通知第二监控器唤醒第二等待队列中的线程来获得数据,过程结束。如果查询结果为否,则在步骤S608,该第一监控器将该线程放入第一等待队列进行排队,过程结束。如果是消费者线程,则前进至步骤S609,该消费者线程在第二监控器上注册;在步骤S610,第二监控器查询资源集合是否有数据;如果查询结果为是,则前进至步骤S611,该线程获得资源集合中的数据,资源集合释放掉可用空间,以及该线程通知第一监控器唤醒第一等待队列中的线程来获得可用空间,过程结束。如果查询结果为否,则在步骤S612,该第二监控器将该线程放入第二等待队列进行排队,过程结束。
本发明为不同类型的访问接口分别配置了监控器,利用监控器分别唤醒不同等待队列中的生产者线程和消费者线程,防止生产者线程和消费者线程沉睡,降低系统响应时间,提高资源访问效率。
基于同一发明构思,本发明提出一种Java资源访问的同步装置,图7示出根据本发明的实施例的Java资源访问的同步装置,该装置包括:一种Java资源访问的同步装置,包括:监控器配置模块701,被配置成为资源集合的第一访问接口配置第一监控器和为第二访问接口配置第二监控器;等待队列配置模块702,被配置成为第一监控器配置第一等待队列和为第二监控器配置第二等待队列;查询模块703,被配置为响应于第一访问接口接收到线程对资源的访问请求,第一监控器查询资源集合中是否有资源满足该访问请求;同步模块704,被配置成响应于查询结果为是,该线程获得资源并通知第二监控器唤醒第二等待队列中的线程;排队模块705,被配置成响应于查询结果为否,该第一监控器将该线程放入第一等待队列进行排队。
根据本发明的一个实施例,其中所述第一访问接口是生产者类型的访问接口以及第二访问接口是消费者类型的访问接口,其中所述第一等待队列包括生产者线程以及第二等待队列包括消费者线程。根据本发明的实施例,其中查询模块进一步被配置为:响应于第一访问接口接收到线程对可用空间的访问请求,第一监控器查询资源集合中是否有可用空间。同步模块被进一步配置为:线程获得资源集合中的可用空间并向获得的可用空间增加数据;由该线程唤醒第二等待队列中的线程来获取资源集合中增加的数据。
根据本发明的另一个实施例,其中所述第一访问接口是消费者类型的访问接口以及第二访问接口是生产者类型的访问接口,其中所述第一等待队列包括消费者线程以及第二等待队列包括生产者线程。其中查询模块被进一步配置为:响应于第一访问接口接收到线程对数据的访问请求,第一监控器查询资源集合中是否有数据。同步模块被进一步配置为:响应于查询结果为是,该线程获得资源集合中的数据;资源集合释放出可用空间;由该线程通知第二监控器唤醒第二等待队列中的线程来获取资源集合中释放的可用空间。
图8则示意性示出了可以实现根据本发明的实施例的计算设备的结构方框图。图8中所示的计算机系统包括CPU(中央处理单元)801、RAM(随机存取存储器)802、ROM(只读存储器)803、系统总线804,硬盘监控器805、键盘监控器806、串行接口监控器807、并行接口监控器808、显示器监控器809、硬盘810、键盘811、串行外部设备812、并行外部设备813和显示器814。在这些部件中,与系统总线804相连的有CPU 801、RAM802、ROM803、硬盘监控器805、键盘监控器806,串行接口监控器807,并行接口监控器808和显示器监控器809。硬盘810与硬盘监控器805相连,键盘811与键盘监控器806相连,串行外部设备812与串行接口监控器807相连,并行外部设备813与并行接口监控器808相连,以及显示器814与显示器监控器809相连。
图8中每个部件的功能在本技术领域内都是众所周知的,并且图8所示的结构也是常规的。这种结构不仅用于个人计算机,而且用于手持设备,如Palm PC、PDA(个人数据助理)、移动电话等等。在不同的应用中,例如用于实现包含有根据本发明的客户端模块的用户终端或者包含有根据本发明的网络应用服务器的服务器主机时,可以向图8中所示的结构添加某些部件,或者图8中的某些部件可以被省略。图8中所示的整个系统由通常作为软件存储在硬盘810中、或者存储在EPROM或者其它非易失性存储器中的计算机可读指令控制。软件也可从网络(图中未示出)下载。或者存储在硬盘810中,或者从网络下载的软件可被加载到RAM 802中,并由CPU 801执行,以便完成由软件确定的功能。
尽管图8中描述的计算机系统能够支持根据本发明提供的技术方案,但是该计算机系统只是计算机系统的一个例子。本领域的熟练技术人员可以理解,许多其它计算机系统设计也能实现本发明的实施例。
虽然这里参照附图描述了本发明的示例性实施例,但是应该理解本发明不限于这些精确的实施例,并且在不背离本发明的范围和宗旨的情况下,本领域普通技术人员能对实施例进行各种变化的修改。所有这些变化和修改意欲包含在所附权利要求中限定的本发明的范围中。
应当理解,本发明的至少某些方面可以可替代地以程序产品实现。定义有关本发明的功能的程序可以通过各种信号承载介质被传送到数据存储系统或计算机系统,所述信号承载介质包括但不限于,不可写存储介质(例如,CD-ROM)、可写存储介质(例如,软盘、硬盘驱动器、读/写CD ROM、光介质)以及诸如包括以太网的计算机和电话网络之类的通信介质。因此应当理解,在此类信号承载介质中,当携带或编码有管理本发明中的方法功能的计算机可读指令时,代表本发明的可替代实施例。本发明可以硬件、软件、固件或其组合的方式实现。本发明可以集中的方式在一个计算机系统中实现,或以分布方式实现,在这种分布方式中,不同的部件分布在若干互连的计算机系统中。适于执行本文中描述的方法的任何计算机系统或其它装置都是合适的。优选地,本发明以计算机软件和通用计算机硬件的组合的方式实现,在这种实现方式中,当该计算机程序被加载和执行时,控制该计算机系统而使其执行本发明的方法,或构成本发明的系统。
上面出于举例说明的目的,给出了本发明的优选实施例的说明。优选实施例的上述说明不是穷尽的,也不打算把本发明局限于公开的明确形式,显然鉴于上述教导,许多修改和变化是可能的。对本领域的技术人员来说显而易见的这种修改和变化包括在由附加的权利要求限定的本发明的范围内。

Claims (18)

1.一种Java资源访问的同步方法,该方法包括:
为资源集合的第一访问接口配置第一监控器和为第二访问接口配置第二监控器;
为第一监控器配置第一等待队列和为第二监控器配置第二等待队列;
响应于第一访问接口接收到线程对资源的访问请求,第一监控器查询资源集合中是否有资源满足该访问请求;
响应于查询结果为是,该线程获得资源并通知第二监控器唤醒第二等待队列中的线程;
响应于查询结果为否,该第一监控器将该线程放入第一等待队列进行排队。
2.根据权利要求1所述的同步方法,其中所述第一访问接口是生产者类型的访问接口以及第二访问接口是消费者类型的访问接口。
3.根据权利要求2所述的同步方法,其中所述第一等待队列包括生产者线程以及第二等待队列包括消费者线程。
4.根据权利要求3所述的同步方法,其中响应于第一访问接口接收到线程对资源的访问请求第一监控器查询资源集合中是否有资源满足该访问请求包括:响应于第一访问接口接收到线程对可用空间的访问请求,第一监控器查询资源集合中是否有可用空间。
5.根据权利要求4所述的同步方法,其中该线程获得资源并通知第二监控器唤醒第二等待队列中的线程包括:
该线程获得资源集合中的可用空间并向获得的可用空间增加数据;
由该线程通知第二监控器唤醒第二等待队列中的线程来获取资源集合中增加的数据。
6.根据权利要求1所述的同步方法,其中所述第一访问接口是消费者类型的访问接口以及第二访问接口是生产者类型的访问接口。
7.根据权利要求6所述的同步方法,其中所述第一等待队列包括消费者线程以及第二等待队列包括生产者线程。
8.根据权利要求7所述的同步方法,其中响应于第一访问接口接收到线程对资源的访问请求第一监控器查询资源集合中是否有资源满足该访问请求包括:响应于第一访问接口接收到线程对数据的访问请求,第一监控器查询资源集合中是否有数据。
9.根据权利要求8所述的同步方法,其中该线程获得资源并通知第二监控器唤醒第二等待队列中的线程包括:
该线程获得资源集合中的数据;
资源集合释放出可用空间;
由该线程通知第二监控器唤醒第二等待队列中的线程来获取资源集合中释放的可用空间。
10.一种Java资源访问的同步装置,该装置包括:
监控器配置模块,被配置成为资源集合的第一访问接口配置第一监控器和为第二访问接口配置第二监控器;
等待队列配置模块,被配置成为第一监控器配置第一等待队列和为第二监控器配置第二等待队列;
查询模块,被配置成响应于第一访问接口接收到线程对资源的访问请求,第一监控器查询资源集合中是否有资源满足该访问请求;
同步模块,被配置成响应于查询结果为是,该线程获得资源并通知第二监控器唤醒第二等待队列中的线程;
排队模块,被配置成响应于查询结果为否,该第一监控器将该线程放入第一等待队列进行排队。
11.根据权利要求9所述的同步装置,其中所述第一访问接口是生产者类型的访问接口以及第二访问接口是消费者类型的访问接口。
12.根据权利要求10所述的同步装置,其中所述第一等待队列包括生产者线程以及第二等待队列包括消费者线程。
13.根据权利要求11所述的同步装置,其中查询模块进一步被配置为:响应于第一访问接口接收到线程对可用空间的访问请求,第一监控器查询资源集合中是否有可用空间。
14.根据权利要求12所述的同步装置,其中该线程获得资源并由该第一监控器通知第二监控器唤醒第二等待队列中的线程包括:
该线程获得资源集合中的可用空间并向获得的可用空间增加数据;
由该线程通知第二监控器唤醒第二等待队列中的线程来获取资源集合中增加的数据。
15.根据权利要求9所述的同步装置,其中所述第一访问接口是消费者类型的访问接口以及第二访问接口是生产者类型的访问接口。
16.根据权利要求14所述的同步装置,其中所述第一等待队列包括消费者线程以及第二等待队列包括生产者线程。
17.根据权利要求16所述的同步装置,其中查询模块被进一步配置为:响应于第一访问接口接收到线程对数据的访问请求,第一监控器查询资源集合中是否有数据。
18.根据权利要求17所述的同步装置,其中同步模块被进一步配置为:
响应于查询结果为是,该线程获得资源集合中的数据;
资源集合释放出可用空间;
由该线程通知第二监控器唤醒第二等待队列中的线程来获取资源集合中释放的可用空间。
CN2011103470039A 2011-10-31 2011-10-31 Java资源访问的同步方法和装置 Pending CN103092703A (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN2011103470039A CN103092703A (zh) 2011-10-31 2011-10-31 Java资源访问的同步方法和装置
US13/661,842 US20130145374A1 (en) 2011-10-31 2012-10-26 Synchronizing java resource access

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2011103470039A CN103092703A (zh) 2011-10-31 2011-10-31 Java资源访问的同步方法和装置

Publications (1)

Publication Number Publication Date
CN103092703A true CN103092703A (zh) 2013-05-08

Family

ID=48205310

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2011103470039A Pending CN103092703A (zh) 2011-10-31 2011-10-31 Java资源访问的同步方法和装置

Country Status (2)

Country Link
US (1) US20130145374A1 (zh)
CN (1) CN103092703A (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105700939A (zh) * 2016-04-21 2016-06-22 北京京东尚科信息技术有限公司 一种分布式系统中多线程同步的方法和系统
CN107239343A (zh) * 2017-06-02 2017-10-10 浪潮金融信息技术有限公司 数据处理方法及装置
CN109445950A (zh) * 2018-09-30 2019-03-08 青岛海尔科技有限公司 Ocf资源的互斥访问方法及系统、服务端、介质、设备
CN109558249A (zh) * 2017-09-27 2019-04-02 北京国双科技有限公司 一种并发操作的控制方法及装置

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10002031B2 (en) * 2013-05-08 2018-06-19 Nvidia Corporation Low overhead thread synchronization using hardware-accelerated bounded circular queues
US10592307B2 (en) * 2016-12-13 2020-03-17 Salesforce.Com, Inc. Multi user threaded executor

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1630852A (zh) * 2001-09-28 2005-06-22 英特尔公司 多处理器计算机上的java线程同步的灵活加速
US20080288496A1 (en) * 2007-05-17 2008-11-20 International Business Machines Corporation Method for implementing concurrent producer-consumer buffers
US20100299682A1 (en) * 2009-05-21 2010-11-25 Samsung Electronics Co., Ltd. Method and apparatus for executing java application

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6704817B1 (en) * 2000-08-31 2004-03-09 Hewlett-Packard Development Company, L.P. Computer architecture and system for efficient management of bi-directional bus

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1630852A (zh) * 2001-09-28 2005-06-22 英特尔公司 多处理器计算机上的java线程同步的灵活加速
US20080288496A1 (en) * 2007-05-17 2008-11-20 International Business Machines Corporation Method for implementing concurrent producer-consumer buffers
US20100299682A1 (en) * 2009-05-21 2010-11-25 Samsung Electronics Co., Ltd. Method and apparatus for executing java application

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
BILL VENNERS: "《深入Java虚拟机》", 30 September 2003 *

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105700939A (zh) * 2016-04-21 2016-06-22 北京京东尚科信息技术有限公司 一种分布式系统中多线程同步的方法和系统
CN105700939B (zh) * 2016-04-21 2019-07-02 北京京东尚科信息技术有限公司 一种分布式系统中多线程同步的方法和系统
CN107239343A (zh) * 2017-06-02 2017-10-10 浪潮金融信息技术有限公司 数据处理方法及装置
CN107239343B (zh) * 2017-06-02 2020-10-16 浪潮金融信息技术有限公司 数据处理方法及装置
CN109558249A (zh) * 2017-09-27 2019-04-02 北京国双科技有限公司 一种并发操作的控制方法及装置
CN109558249B (zh) * 2017-09-27 2022-11-04 北京国双科技有限公司 一种并发操作的控制方法及装置
CN109445950A (zh) * 2018-09-30 2019-03-08 青岛海尔科技有限公司 Ocf资源的互斥访问方法及系统、服务端、介质、设备

Also Published As

Publication number Publication date
US20130145374A1 (en) 2013-06-06

Similar Documents

Publication Publication Date Title
CN103092703A (zh) Java资源访问的同步方法和装置
TWI631472B (zh) 分散式作業系統
CN101981531B (zh) 聚集循环调度以优化资源消耗
US8752060B2 (en) Multi-CPU domain mobile electronic device and operation method thereof
CN101706743B (zh) 一种多核环境下的虚拟机调度方法
JP6598848B2 (ja) 複数のデバイスにおけるコンピューティング環境の提示
CN103765387B (zh) 便携式计算装置中的分布式资源管理
JP2005141605A (ja) 予測に基づいた計算機リソース配分方法
CN105786603B (zh) 一种基于分布式的高并发业务处理系统及方法
CN104142858A (zh) 阻塞任务调度方法及装置
CN103297456A (zh) 一种分布式系统下共享资源的访问方法及分布式系统
WO2011084328A1 (en) System and method for asynchronously and independently controlling core clocks in a multicore central processing unit
JP2013542491A (ja) 性能スケーリングアルゴリズムのセットを公開して管理するためのモバイルデバイスおよび方法
US8745629B2 (en) System and method of controlling power in an electronic device
CN103782275A (zh) 用于管理便携式计算装置的资源的系统和方法
KR101483897B1 (ko) 휴대용 컴퓨팅 디바이스의 프로세서들에 대한 슬립 상태들로의 신속한 진입 및 슬립 상태들로부터의 신속한 퇴장을 위한 방법 및 시스템
CN104050137A (zh) 一种异构操作系统中内核运行的方法及装置
CN102239473A (zh) 用于并行计算系统的基于能量的时间调度器
CN111488492A (zh) 用于检索图数据库的方法和装置
CN115658153A (zh) 睡眠锁优化方法、装置、电子设备及存储介质
CN102891879A (zh) 用于支持集群扩展的方法和设备
CN103336574A (zh) 数据中心节能控制方法与装置
CN102109981A (zh) 实时通讯通用插件
CN112181724A (zh) 大数据容灾方法、装置和电子设备
CN108446141B (zh) 一种Web前端插件及基于Web前端插件进行调度和通信的方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C12 Rejection of a patent application after its publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20130508