JP5315354B2 - ルーチン内のスレッドを切り替える方法 - Google Patents
ルーチン内のスレッドを切り替える方法 Download PDFInfo
- Publication number
- JP5315354B2 JP5315354B2 JP2010531211A JP2010531211A JP5315354B2 JP 5315354 B2 JP5315354 B2 JP 5315354B2 JP 2010531211 A JP2010531211 A JP 2010531211A JP 2010531211 A JP2010531211 A JP 2010531211A JP 5315354 B2 JP5315354 B2 JP 5315354B2
- Authority
- JP
- Japan
- Prior art keywords
- thread
- coroutine
- routine
- subsequent
- return
- 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.)
- Active
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
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
- Stored Programmes (AREA)
- Executing Machine-Instructions (AREA)
- User Interface Of Digital Computer (AREA)
Description
Claims (20)
- 1つのルーチン内で異なるスレッド間の切り替えを行なう方法をコンピューターに実行させるためのコンピューター実行可能命令を格納したコンピューター読み取り可能な記録媒体であって、前記方法は、
前記コンピューター実行可能命令は、実行されるときに、
コルーチンを実行させる要求を、前記コルーチンに含まれる機能を実行する必要がある元のルーチンから受信する手順と、
最初のスレッド上で前記コルーチンを実行する手順と、
returnステートメントに基づいて前記コルーチンがリターンをするときに、前記コルーチンからのレスポンスバックを受信する手順であって、前記returnステートメントは前記最初のスレッドと異なる後続のスレッドを特定する、手順と、
リターンをするときに前記コルーチンが前記returnステートメントで示した前記後続のスレッド上で、前記コルーチンの後続部分を次回に実行する手順と
を含むことを特徴とするコンピューター読み取り可能な記録媒体。 - 直近のリターンにおいてコルーチンにより示された後続のスレッド上のコルーチンを実行するたびごとに、コルーチンの終了に到達するまで複数回コルーチンを実行する手順
をコンピューターに実行させるコンピューター実行可能な命令をさらに有することを特徴とする請求項1に記載のコンピューター読み取り可能な記録媒体。 - 前記後続のスレッドの識別子は、パラメーターとしてreturnステートメントに含まれることを特徴とする請求項1に記載のコンピューター読み取り可能な記録媒体。
- 前記後続のスレッドは、ワーカー・スレッド・ロジックを処理するために使用されることを特徴とする請求項1に記載のコンピューター読み取り可能な記録媒体。
- ルーチンを部分的に終えてスレッドを切り替える方法であって、
第一のスレッド上のルーチンの冒頭部分の実行を開始するステップと、
第一のreturnステートメントにより前記ルーチンの前記冒頭部分のエンドポイントでの前記ルーチンの終了をさせるステップであって、前記第一のreturnステートメントが後続のスレッドの識別子を有する、前記ルーチンの終了をさせるステップと、
前記後続のスレッドの識別子において指定された前記後続のスレッド上における前記ルーチンの後続部分のコードの実行を再開するステップであって、前記第一のreturnステートメントに続くコードの行での前記ルーチンにおけるコードの実行の続きをする、ステップと
を備えた方法。 - 前記第一のスレッドと前記後続のスレッドとのうちの少なくとも1つは、グラフィカル・ユーザー・インターフェース・ロジックを処理するために使用されるスレッドであることを特徴とする請求項5に記載の方法。
- 前記第一のスレッドと前記後続のスレッドとのうちの少なくとも1つは、ワーカー・ロジックを処理するために使用されるワーカー・スレッドであることを特徴とする請求項5に記載の方法。
- 前記ルーチンは、コルーチンであることを特徴とする請求項5に記載の方法。
- 前記第一のスレッドは、第二のスレッドと異なる型の動作を処理するのに使用されることを特徴とする請求項8に記載の方法。
- 前記後続のスレッドの識別子は、パラメーターとして前記第一のreturnステートメントに含まれることを特徴とする請求項5に記載の方法。
- 前記ルーチンの終了に到達するまで複数回、前記終了をさせるステップと、前記再開するステップとを繰り返すステップ
をさらに備えたことを特徴とする請求項5に記載の方法。 - 前記ルーチンに含まれるコードの第一の行は、前記第一のreturnステートメントであることを特徴とする請求項5に記載の方法。
- 前記第一のreturnステートメントは、前記ルーチンのコードをさらに処理する前に第一の所望の実行スレッドを前記後続のスレッドの識別子に指定できるように前記コードの第一の行に置かれることを特徴とする請求項12に記載の方法。
- グラフィカル・ユーザー・インターフェース・スレッド・ロジックおよびワーカー・スレッド・ロジックを、ただ1つのルーチンにコミングルする方法であって、
コルーチンに含まれるロジックの冒頭部分のコードの実行を開始するステップであって、前記ロジックの冒頭部分がユーザー入力を受信するためにグラフィカル・ユーザー・インターフェース・スレッドおよびワーカー・スレッドのいずれか一方である第一のスレッド上に実行される、最初のロジックのコードの実行を開始するステップと、
前記ユーザー入力を受信するステップと、
前記グラフィカル・ユーザー・インターフェース・スレッドおよび前記ワーカー・スレッドの他方である第二のスレッドに切り替えるために部分的に終えて前記コルーチンの終了をさせるステップであって、前記第二のスレッドがreturnステートメントによって特定されるとともに前記第一のスレッドと異なるスレッドである、前記コルーチンの終了をさせるステップと、
前記ユーザー入力に応答して前記第二のスレッド上のコルーチンに含まれるロジックの後続部分のコードの実行を再開するステップと
を備えた方法。 - 前記終了をさせるステップは、returnステートメントに到達すると実行されることを特徴とする請求項14に記載の方法。
- 前記returnステートメントは、実行を再開するべき次のスレッドを指定するスレッドの識別子をパラメーターとして含むことを特徴とする請求項15に記載の方法。
- 複数のreturnステートメントが、スレッドの切り替えを行うべきときに示すルーチンに含まれることを特徴とする請求項16に記載の方法。
- 前記コルーチンは、適したスレッド上のコルーチンの呼び出しを確実にするコントローラールーチンにより複数回呼び出しをされることを特徴とする請求項14に記載の方法。
- 前記コントローラールーチンは、元のルーチンにより呼び出しをされることを特徴とする請求項18に記載の方法。
- 前記元のルーチンは、前記コルーチンの呼び出しをする要求を含むことを特徴とする請求項19に記載の方法。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/977,593 US8589925B2 (en) | 2007-10-25 | 2007-10-25 | Techniques for switching threads within routines |
US11/977,593 | 2007-10-25 | ||
PCT/US2008/080825 WO2009055494A2 (en) | 2007-10-25 | 2008-10-22 | Techniques for switching threads within routines |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2011501323A JP2011501323A (ja) | 2011-01-06 |
JP2011501323A5 JP2011501323A5 (ja) | 2011-12-08 |
JP5315354B2 true 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 |
CN105164638B (zh) * | 2013-04-23 | 2019-09-27 | 起元科技有限公司 | 控制由计算系统执行的任务 |
KR20150019349A (ko) * | 2013-08-13 | 2015-02-25 | 삼성전자주식회사 | 다중 쓰레드 실행 프로세서 및 이의 동작 방법 |
CA2959389A1 (en) | 2014-09-02 | 2016-03-10 | Ab Initio Technology Llc | Compilation of graph-based program specifications with automated clustering of graph components based on the identification of particular data port connections |
SG11201701605XA (en) * | 2014-09-02 | 2017-03-30 | Ab Initio Technology Llc | Controlling data processing tasks |
US9933918B2 (en) | 2014-09-02 | 2018-04-03 | Ab Initio Technology Llc | Specifying control and data connections in graph-based programs |
SG11201701651SA (en) | 2014-09-02 | 2017-04-27 | Ab Initio Technology Llc | Managing execution state of components in a graph-based program specification for controlling their associated tasks |
US9760406B2 (en) | 2014-09-02 | 2017-09-12 | Ab Initio Technology Llc | Controlling data processing tasks |
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 | 网易(杭州)网络有限公司 | 异步通信的测试方法、装置及电子设备 |
Family Cites Families (27)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE69024753T2 (de) * | 1989-10-31 | 1996-05-30 | Hewlett Packard Co | Tragbarer, Ressourcen teilender Datei-Server, der gemeinsame Routines benutzt |
JPH03173938A (ja) | 1989-11-30 | 1991-07-29 | Pioneer Electron Corp | トラッキングサーボ装置 |
JP2535631B2 (ja) * | 1989-12-01 | 1996-09-18 | 富士通株式会社 | コル―チン呼び出し制御方式 |
US5261097A (en) * | 1991-03-11 | 1993-11-09 | Digital Equipment Corporation | Computer system and method for executing command scripts using multiple synchronized threads |
US6598068B1 (en) * | 1996-01-04 | 2003-07-22 | Sun Microsystems, Inc. | Method and apparatus for automatically managing concurrent access to a shared resource in a multi-threaded programming environment |
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 |
US7587721B2 (en) * | 2004-05-20 | 2009-09-08 | Sap Ag | Sharing objects in runtime 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 |
US7784051B2 (en) * | 2005-11-18 | 2010-08-24 | Sap Ag | Cooperative scheduling using coroutines and threads |
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 EP EP08842012.0A patent/EP2217998B1/en active Active
- 2008-10-22 WO PCT/US2008/080825 patent/WO2009055494A2/en active Application Filing
- 2008-10-22 JP JP2010531211A patent/JP5315354B2/ja active Active
-
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
Also Published As
Publication number | Publication date |
---|---|
US20140047446A1 (en) | 2014-02-13 |
WO2009055494A2 (en) | 2009-04-30 |
US8589925B2 (en) | 2013-11-19 |
TW201426546A (zh) | 2014-07-01 |
EP2217998B1 (en) | 2017-02-22 |
EP2217998A4 (en) | 2014-07-23 |
US10007551B2 (en) | 2018-06-26 |
US20090113436A1 (en) | 2009-04-30 |
TWI515655B (zh) | 2016-01-01 |
TWI446262B (zh) | 2014-07-21 |
JP2011501323A (ja) | 2011-01-06 |
US10698726B2 (en) | 2020-06-30 |
TW200921509A (en) | 2009-05-16 |
WO2009055494A3 (en) | 2009-07-02 |
EP2217998A2 (en) | 2010-08-18 |
US20190138347A1 (en) | 2019-05-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5315354B2 (ja) | ルーチン内のスレッドを切り替える方法 | |
US8327336B2 (en) | Enhanced thread stepping | |
US10769047B2 (en) | Stepping and application state viewing between points | |
JP5328055B2 (ja) | メモリトランザクションのグループ化 | |
US8849753B2 (en) | Automating asynchronous programming in single threaded systems | |
US8650551B2 (en) | Transactional debugger for a transactional memory system and detecting conflicts | |
US8271768B2 (en) | Concurrent handling of exceptions in received aggregate exception structure with supplied exception handlers and marking handled exceptions | |
US7567257B2 (en) | Partition-based undo of partitioned object graph | |
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 | |
JP5186562B2 (ja) | トランザクションメモリのオブジェクトモデル | |
JPH08314723A (ja) | オブジェクト関連情報管理方式 |
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 |