JP2011501323A - ルーチン内のスレッドを切り替える方法 - Google Patents
ルーチン内のスレッドを切り替える方法 Download PDFInfo
- Publication number
- JP2011501323A JP2011501323A JP2010531211A JP2010531211A JP2011501323A JP 2011501323 A JP2011501323 A JP 2011501323A JP 2010531211 A JP2010531211 A JP 2010531211A JP 2010531211 A JP2010531211 A JP 2010531211A JP 2011501323 A JP2011501323 A JP 2011501323A
- Authority
- JP
- Japan
- Prior art keywords
- thread
- coroutine
- routine
- return
- subsequent
- 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
-
- 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
-
- 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/44—Arrangements for executing specific programs
- G06F9/448—Execution paradigms, e.g. implementations of programming paradigms
- G06F9/4482—Procedural
- G06F9/4484—Executing subprograms
-
- 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
-
- 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/461—Saving or restoring of program or task context
-
- 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
-
- 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
-
- 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/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
- G06F9/4856—Task life-cycle, e.g. stopping, restarting, resuming execution resumption being on a different machine, e.g. task migration, virtual machine migration
-
- 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/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
-
- 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/50—Allocation of resources, e.g. of the central processing unit [CPU]
-
- 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/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
-
- 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/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5011—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
-
- 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/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5011—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
- G06F9/5022—Mechanisms to release resources
-
- 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/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
-
- 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/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/5038—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration
Abstract
Description
Claims (20)
- コンピューターに、
コルーチンを実行する要求を元のルーチンから受信する手順(206)と、
最初のスレッド上のコルーチンを実行する手順(208)と、
コルーチンがreturnステートメントに基づいてリターンをするとコルーチンからのレスポンスバックを受信する手順(210)と、
リターンによりコルーチンが示した後続のスレッド上のコルーチンを次回に実行する手順(212)と
を実行させるコンピューター実行可能な命令を有するコンピューター読み取り可能な媒体。 - もっとも近くのリターンにおいてコルーチンにより示されたもっとも近くの後続のスレッド上のコルーチンを実行するたびごとに、コルーチンの終了に到達するまで複数回コルーチンを実行する手順(250)
を実行させるコンピューター実行可能な命令をさらに有することを特徴とする請求項1に記載のコンピューター読み取り可能な媒体。 - 前記後続のスレッドは、パラメーターとしてreturnステートメントに含まれる(246)ことを特徴とする請求項1に記載のコンピューター読み取り可能な媒体。
- 前記後続のスレッドは、ワーカー・スレッド・ロジックを処理するために使用される(296)ことを特徴とする請求項1に記載のコンピューター読み取り可能な媒体。
- ルーチンを部分的に終えてスレッドを切り替える方法であって、
第一のスレッド上のルーチンの実行を開始するステップ(272)と、
第一のreturnステートメントにより前記ルーチンを部分的に終えてポイントでの前記ルーチンの終了をさせるステップ(274)であって、前記第一のreturnステートメントが後続のスレッドの識別子を有する、終了をさせるステップと、
前記後続のスレッドの識別子において指定された後続のスレッド上におけるルーチンのコードの実行を再開するステップ(276)と、
前記第一のreturnステートメントに続くコードの行での前記ルーチンにおけるコードの実行の続きをするステップ(278)と
を備えた方法。 - 前記第一のスレッドと前記後続のスレッドとのうちの少なくとも1つは、グラフィカル・ユーザー・インターフェース・ロジックを処理するために使用されるスレッドである(292)ことを特徴とする請求項5に記載の方法。
- 前記第一のスレッドと前記後続のスレッドとのうちの少なくとも1つは、ワーカー・ロジックを処理するために使用されるワーカー・スレッドである(298)ことを特徴とする請求項5に記載の方法。
- 前記ルーチンは、コルーチンである(272)ことを特徴とする請求項5に記載の方法。
- 前記第一のスレッドは、第二のスレッドと異なる型の動作を処理するのに使用される(298)ことを特徴とする請求項8に記載の方法。
- 前記後続のスレッドの識別子は、パラメーターとして前記第一のreturnステートメントに含まれる(274)ことを特徴とする請求項5に記載の方法。
- 前記ルーチンの終了に到達するまで複数回、前記終了をさせるステップと、前記再開するステップと、続きをするステップとを繰り返すステップ(250)
をさらに備えたことを特徴とする請求項5に記載の方法。 - 前記ルーチンに含まれるコードの第一の行は、前記第一のreturnステートメントである(344)ことを特徴とする請求項5に記載の方法。
- 前記第一のreturnステートメントは、前記ルーチンのコードをさらに処理する前に第一の所望の実行スレッドを前記後続のスレッドの識別子に指定できるように前記コードの第一の行に置かれる(344)ことを特徴とする請求項12に記載の方法。
- グラフィカル・ユーザー・インターフェース・ロジックおよびワーカー・スレッド・ロジックを、ただ1つのルーチンにコミングルする方法であって、
コルーチンに含まれる最初のロジックのコードの実行を開始するステップ(292)であって、前記最初のロジックがユーザー入力を受信するために第一のスレッド上に実行される、開始するステップと、
前記ユーザー入力を受信するステップ(294)と、
第二のスレッドに切り替えるために部分的に終えて前記コルーチンの終了をさせるステップ(296)であって、前記第二のスレッドが前記第一のスレッドと異なるスレッドである、終了をさせるステップと、
前記ユーザー入力に応答してワーカーを実行するために前記第二のスレッド上のコルーチンにおけるコードの実行を再開するステップ(298)と
を備えた方法。 - 前記終了をさせるステップは、returnステートメントに到達すると実行される(296)ことを特徴とする請求項14に記載の方法。
- 前記returnステートメントは、実行を再開するべき次のスレッドを指定するスレッドの識別子をパラメーターとして含む(274)ことを特徴とする請求項15に記載の方法。
- 複数のreturnステートメントが、スレッドの切り替えを行うべきときに示すルーチンに含まれる(16)ことを特徴とする請求項16に記載の方法。
- 前記コルーチンは、適したスレッド上のコルーチンの呼び出しを確実にするコントローラールーチンにより複数回呼び出しをされることを特徴とする請求項14に記載の方法。
- 前記コントローラールーチンは、元のルーチンにより呼び出しをされる(12)ことを特徴とする請求項18に記載の方法。
- 前記元のルーチンは、前記コルーチンの呼び出しをする要求を含む(12)ことを特徴とする請求項19に記載の方法。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/977,593 | 2007-10-25 | ||
US11/977,593 US8589925B2 (en) | 2007-10-25 | 2007-10-25 | Techniques for switching threads within routines |
PCT/US2008/080825 WO2009055494A2 (en) | 2007-10-25 | 2008-10-22 | Techniques for switching threads within routines |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2011501323A true JP2011501323A (ja) | 2011-01-06 |
JP2011501323A5 JP2011501323A5 (ja) | 2011-12-08 |
JP5315354B2 JP5315354B2 (ja) | 2013-10-16 |
Family
ID=40580367
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010531211A Active JP5315354B2 (ja) | 2007-10-25 | 2008-10-22 | ルーチン内のスレッドを切り替える方法 |
Country Status (5)
Country | Link |
---|---|
US (3) | US8589925B2 (ja) |
EP (1) | EP2217998B1 (ja) |
JP (1) | JP5315354B2 (ja) |
TW (2) | TWI446262B (ja) |
WO (1) | WO2009055494A2 (ja) |
Families Citing this family (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8589925B2 (en) | 2007-10-25 | 2013-11-19 | Microsoft Corporation | Techniques for switching threads within routines |
US8732211B2 (en) | 2011-01-28 | 2014-05-20 | International Business Machines Corporation | Method, computer system, and physical computer storage medium for organizing data into data structures |
EP3113017B1 (en) * | 2013-04-23 | 2018-04-18 | AB Initio Technology LLC | Controlling tasks performed by a computing system |
KR20150019349A (ko) * | 2013-08-13 | 2015-02-25 | 삼성전자주식회사 | 다중 쓰레드 실행 프로세서 및 이의 동작 방법 |
US9760406B2 (en) | 2014-09-02 | 2017-09-12 | Ab Initio Technology Llc | Controlling data processing tasks |
AU2015312012B2 (en) | 2014-09-02 | 2020-02-27 | Ab Initio Technology Llc | Compiling graph-based program specifications |
US9933918B2 (en) | 2014-09-02 | 2018-04-03 | Ab Initio Technology Llc | Specifying control and data connections in graph-based programs |
CN106605209B (zh) * | 2014-09-02 | 2020-05-12 | 起元科技有限公司 | 控制数据处理任务 |
KR102375349B1 (ko) | 2014-09-02 | 2022-03-16 | 아브 이니티오 테크놀로지 엘엘시 | 연관된 태스크들을 제어하기 위한 그래프 기반 프로그램 명세의 구성요소들의 실행 상태 관리 |
US9552223B2 (en) * | 2014-09-30 | 2017-01-24 | International Business Machines Corporation | Post-return asynchronous code execution |
CN105447138A (zh) * | 2015-11-20 | 2016-03-30 | 北京京东尚科信息技术有限公司 | 用于服务器的方法及系统 |
US10761714B2 (en) * | 2015-11-23 | 2020-09-01 | Google Llc | Recognizing gestures and updating display by coordinator |
CN108089919B (zh) * | 2017-12-21 | 2021-01-15 | 北京云杉世纪网络科技有限公司 | 一种并发处理api请求的方法及系统 |
US11789741B2 (en) * | 2018-03-08 | 2023-10-17 | Sap Se | Determining an optimum quantity of interleaved instruction streams of defined coroutines |
CN109257411B (zh) * | 2018-07-31 | 2021-12-24 | 平安科技(深圳)有限公司 | 一种业务处理方法、调用管理系统和计算机设备 |
CN110247984B (zh) * | 2019-06-27 | 2022-02-22 | 腾讯科技(深圳)有限公司 | 业务处理方法、装置及存储介质 |
CN113608843B (zh) * | 2021-07-08 | 2023-08-25 | 广东开放大学(广东理工职业学院) | 协程实现方法和系统 |
CN114584500B (zh) * | 2022-02-25 | 2024-03-22 | 网易(杭州)网络有限公司 | 异步通信的测试方法、装置及电子设备 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH03172938A (ja) * | 1989-12-01 | 1991-07-26 | Fujitsu Ltd | コルーチン呼び出し制御方式 |
JPH09198265A (ja) * | 1996-01-04 | 1997-07-31 | Sun Microsyst Inc | マルチスレッド型プログラミング環境における共用資源への並行同時アクセスを自動的に管理する方法及びそのための装置 |
WO2005114405A2 (en) * | 2004-05-20 | 2005-12-01 | Sap Aktiengesellschaft | Sharing objects in runtime systems |
US20070118836A1 (en) * | 2005-11-18 | 2007-05-24 | Mensing Joerg W | Cooperative scheduling using coroutines and threads |
Family Cites Families (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0426323B1 (en) * | 1989-10-31 | 1996-01-10 | Hewlett-Packard Company | Portable, resource sharing file server using co-routines |
JPH03173938A (ja) | 1989-11-30 | 1991-07-29 | Pioneer Electron Corp | トラッキングサーボ装置 |
US5261097A (en) * | 1991-03-11 | 1993-11-09 | Digital Equipment Corporation | Computer system and method for executing command scripts using multiple synchronized threads |
US6480818B1 (en) * | 1998-11-13 | 2002-11-12 | Cray Inc. | Debugging techniques in a multithreaded environment |
US6449614B1 (en) | 1999-03-25 | 2002-09-10 | International Business Machines Corporation | Interface system and method for asynchronously updating a share resource with locking facility |
US7043725B1 (en) * | 1999-07-09 | 2006-05-09 | Hewlett-Packard Development Company, L.P. | Two tier arrangement for threads support in a virtual machine |
AU7606301A (en) | 2000-09-29 | 2002-04-11 | International Business Machines Corporation | Context based view design to support client side multi-threading |
US6954933B2 (en) * | 2000-10-30 | 2005-10-11 | Microsoft Corporation | Method and apparatus for providing and integrating high-performance message queues in a user interface environment |
US6904597B2 (en) | 2001-03-30 | 2005-06-07 | Intel Corporation | Inter-thread communications between different components using double buffer |
US7007244B2 (en) | 2001-04-20 | 2006-02-28 | Microsoft Corporation | Method and system for displaying categorized information on a user interface |
US7159215B2 (en) * | 2001-06-27 | 2007-01-02 | Sun Microsystems, Inc. | Termination detection for shared-memory parallel programs |
US7103887B2 (en) * | 2001-06-27 | 2006-09-05 | Sun Microsystems, Inc. | Load-balancing queues employing LIFO/FIFO work stealing |
US20030041139A1 (en) | 2001-08-14 | 2003-02-27 | Smartpipes, Incorporated | Event management for a remote network policy management system |
US7086049B2 (en) * | 2002-02-26 | 2006-08-01 | International Business Machines Corporation | Background code update for embedded systems |
JP4520788B2 (ja) * | 2004-07-29 | 2010-08-11 | 富士通株式会社 | マルチスレッドプロセッサ |
US20060048106A1 (en) * | 2004-08-27 | 2006-03-02 | International Business Machines Corporation | Link-time profile-based method for reducing run-time image of executables |
US8568225B2 (en) | 2004-09-16 | 2013-10-29 | Bally Gaming, Inc. | User interface system and method for creating and verifying signed content |
US7685574B2 (en) * | 2004-09-29 | 2010-03-23 | Microsoft Corporation | Constrained execution regions |
US7603673B2 (en) * | 2004-10-28 | 2009-10-13 | Intel Corporation | Method and system for reducing context switch times |
US7610579B2 (en) * | 2004-12-10 | 2009-10-27 | Microsoft Corporation | Critical finalizers |
US7467272B2 (en) * | 2004-12-16 | 2008-12-16 | International Business Machines Corporation | Write protection of subroutine return addresses |
US20080168247A1 (en) * | 2007-01-05 | 2008-07-10 | Seagate Technology Llc | Method and apparatus for controlling access to a data storage device |
US8589925B2 (en) | 2007-10-25 | 2013-11-19 | Microsoft Corporation | Techniques for switching threads within routines |
-
2007
- 2007-10-25 US US11/977,593 patent/US8589925B2/en active Active
-
2008
- 2008-09-26 TW TW097137253A patent/TWI446262B/zh not_active IP Right Cessation
- 2008-09-26 TW TW103108713A patent/TWI515655B/zh not_active IP Right Cessation
- 2008-10-22 JP JP2010531211A patent/JP5315354B2/ja active Active
- 2008-10-22 EP EP08842012.0A patent/EP2217998B1/en active Active
- 2008-10-22 WO PCT/US2008/080825 patent/WO2009055494A2/en active Application Filing
-
2013
- 2013-10-21 US US14/059,278 patent/US10007551B2/en active Active
-
2018
- 2018-06-26 US US16/018,427 patent/US10698726B2/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH03172938A (ja) * | 1989-12-01 | 1991-07-26 | Fujitsu Ltd | コルーチン呼び出し制御方式 |
JPH09198265A (ja) * | 1996-01-04 | 1997-07-31 | Sun Microsyst Inc | マルチスレッド型プログラミング環境における共用資源への並行同時アクセスを自動的に管理する方法及びそのための装置 |
WO2005114405A2 (en) * | 2004-05-20 | 2005-12-01 | Sap Aktiengesellschaft | Sharing objects in runtime systems |
JP2007538323A (ja) * | 2004-05-20 | 2007-12-27 | エスアーペー アーゲー | ランタイムシステムにおけるオブジェクトを共有するためのプログラム、方法、装置 |
US20070118836A1 (en) * | 2005-11-18 | 2007-05-24 | Mensing Joerg W | Cooperative scheduling using coroutines and threads |
Also Published As
Publication number | Publication date |
---|---|
WO2009055494A3 (en) | 2009-07-02 |
TW200921509A (en) | 2009-05-16 |
JP5315354B2 (ja) | 2013-10-16 |
US20140047446A1 (en) | 2014-02-13 |
TWI515655B (zh) | 2016-01-01 |
EP2217998B1 (en) | 2017-02-22 |
TW201426546A (zh) | 2014-07-01 |
US20190138347A1 (en) | 2019-05-09 |
TWI446262B (zh) | 2014-07-21 |
US10698726B2 (en) | 2020-06-30 |
WO2009055494A2 (en) | 2009-04-30 |
EP2217998A2 (en) | 2010-08-18 |
EP2217998A4 (en) | 2014-07-23 |
US20090113436A1 (en) | 2009-04-30 |
US10007551B2 (en) | 2018-06-26 |
US8589925B2 (en) | 2013-11-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5315354B2 (ja) | ルーチン内のスレッドを切り替える方法 | |
US8327336B2 (en) | Enhanced thread stepping | |
JP5328055B2 (ja) | メモリトランザクションのグループ化 | |
US8849753B2 (en) | Automating asynchronous programming in single threaded systems | |
US20080120605A1 (en) | Stepping and application state viewing between points | |
US8650551B2 (en) | Transactional debugger for a transactional memory system and detecting conflicts | |
US7567257B2 (en) | Partition-based undo of partitioned object graph | |
US8271768B2 (en) | Concurrent handling of exceptions in received aggregate exception structure with supplied exception handlers and marking handled exceptions | |
CN104461876A (zh) | 一种基于运行快照序列的并行程序重现调试方法 | |
US20080320275A1 (en) | Concurrent exception handling | |
MX2010012829A (es) | Recobrar control de un recurso de procesamiento que ejecuta un contexto de ejecucion externa. | |
TW200905567A (en) | Notifying user mode scheduler of blocking events | |
US8196123B2 (en) | Object model for transactional memory |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20111017 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20111017 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20130208 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20130502 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20130607 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20130708 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 Ref document number: 5315354 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313113 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |