KR100763200B1 - 인터럽트 가능한 스레드 동기화 방법 및 장치 - Google Patents
인터럽트 가능한 스레드 동기화 방법 및 장치 Download PDFInfo
- Publication number
- KR100763200B1 KR100763200B1 KR1020060018411A KR20060018411A KR100763200B1 KR 100763200 B1 KR100763200 B1 KR 100763200B1 KR 1020060018411 A KR1020060018411 A KR 1020060018411A KR 20060018411 A KR20060018411 A KR 20060018411A KR 100763200 B1 KR100763200 B1 KR 100763200B1
- Authority
- KR
- South Korea
- Prior art keywords
- thread
- monitor
- waiting
- threads
- variable
- Prior art date
Links
Images
Classifications
-
- F—MECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
- F16—ENGINEERING ELEMENTS AND UNITS; GENERAL MEASURES FOR PRODUCING AND MAINTAINING EFFECTIVE FUNCTIONING OF MACHINES OR INSTALLATIONS; THERMAL INSULATION IN GENERAL
- F16L—PIPES; JOINTS OR FITTINGS FOR PIPES; SUPPORTS FOR PIPES, CABLES OR PROTECTIVE TUBING; MEANS FOR THERMAL INSULATION IN GENERAL
- F16L1/00—Laying or reclaiming pipes; Repairing or joining pipes on or under water
- F16L1/12—Laying or reclaiming pipes on or under water
- F16L1/16—Laying or reclaiming pipes on or under water on the bottom
- F16L1/161—Laying or reclaiming pipes on or under water on the bottom the pipe being composed of sections of short length
-
- 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/52—Program synchronisation; Mutual exclusion, e.g. by means of semaphores
-
- F—MECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
- F16—ENGINEERING ELEMENTS AND UNITS; GENERAL MEASURES FOR PRODUCING AND MAINTAINING EFFECTIVE FUNCTIONING OF MACHINES OR INSTALLATIONS; THERMAL INSULATION IN GENERAL
- F16L—PIPES; JOINTS OR FITTINGS FOR PIPES; SUPPORTS FOR PIPES, CABLES OR PROTECTIVE TUBING; MEANS FOR THERMAL INSULATION IN GENERAL
- F16L1/00—Laying or reclaiming pipes; Repairing or joining pipes on or under water
- F16L1/12—Laying or reclaiming pipes on or under water
- F16L1/16—Laying or reclaiming pipes on or under water on the bottom
- F16L1/165—Laying or reclaiming pipes on or under water on the bottom by towing the pipe on or near the bottom
-
- F—MECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
- F16—ENGINEERING ELEMENTS AND UNITS; GENERAL MEASURES FOR PRODUCING AND MAINTAINING EFFECTIVE FUNCTIONING OF MACHINES OR INSTALLATIONS; THERMAL INSULATION IN GENERAL
- F16L—PIPES; JOINTS OR FITTINGS FOR PIPES; SUPPORTS FOR PIPES, CABLES OR PROTECTIVE TUBING; MEANS FOR THERMAL INSULATION IN GENERAL
- F16L1/00—Laying or reclaiming pipes; Repairing or joining pipes on or under water
- F16L1/12—Laying or reclaiming pipes on or under water
- F16L1/20—Accessories therefor, e.g. floats, weights
-
- 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
- G06F9/542—Event management; Broadcasting; Multicasting; Notifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/54—Indexing scheme relating to G06F9/54
- G06F2209/543—Local
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Mechanical Engineering (AREA)
- Multimedia (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
- Debugging And Monitoring (AREA)
- Mobile Radio Communication Systems (AREA)
- Synchronisation In Digital Transmission Systems (AREA)
- Synchronizing For Television (AREA)
Abstract
Description
Claims (13)
- 소정의 모니터를 사용하여 소정의 객체에 대한 하나 이상의 스레드들의 상호 배제적인 접근을 제어하는 단계; 및상기 모니터를 대기하는 제1 스레드를 인터럽트하는 단계를 포함하는, 인터럽트 가능한 스레드 동기화 방법.
- 제 1항에 있어서,상기 모니터는 대기 조건을 나타내는 조건 변수와, 상기 모니터를 획득한 제2 스레드의 존재 여부와 상기 조건 변수에 대하여 대기 중인 스레드의 존재 여부를 나타내는 카운터 변수를 포함하는, 인터럽트 가능한 스레드 동기화 방법.
- 제 2항에 있어서,상기 모니터는 상기 조건 변수와 상기 카운터 변수에 대한 상기 하나 이상의 스레드들의 상호 배제적인 접근을 제어하는 서브 모니터를 더 포함하는, 인터럽트 가능한 스레드 동기화 방법.
- 제 2항에 있어서,상기 카운터 변수는 음이 아닌 정수인, 인터럽트 가능한 스레드 동기화 방법.
- 제 2항에 있어서,상기 제어하는 단계는,상기 제1 스레드가 상기 모니터를 요청하는 단계;상기 카운터 변수를 증가시키는 단계; 및상기 제2 스레드가 존재하는 경우, 상기 제1 스레드를 상기 조건 변수에 대하여 대기시키는 단계를 포함하는, 인터럽트 가능한 스레드 동기화 방법.
- 제 2항에 있어서,상기 제2 스레드가 상기 객체에 대한 소정의 처리 작업을 완료한 경우, 상기 카운터 변수를 감소시키는 단계를 더 포함하는, 인터럽트 가능한 스레드 동기화 방법.
- 제 2항에 있어서,상기 제2 스레드가 상기 객체에 대한 소정의 처리 작업을 완료한 후, 상기 모니터에 대기 중인 제3 스레드가 존재하면 상기 제3 스레드를 깨우는 싱글 시그널을 출력하는 단계를 더 포함하는, 인터럽트 가능한 스레드 동기화 방법.
- 제 2항에 있어서,상기 제2 스레드가 상기 모니터에 포함된 소정의 정보에 대한 상기 하나 이상의 스레드들의 상호 배제적인 접근을 제어하는 단계를 더 포함하는, 인터럽트 가능한 스레드 동기화 방법.
- 제 2항에 있어서,상기 인터럽트하는 단계는,상기 제1 스레드에 인터럽트 대상에 해당한다는 정보를 설정하는 단계; 및상기 모니터를 대기하는 하나 이상의 스레드들을 순차적으로 깨우는 브로드캐스트 시그널을 출력하는 단계를 포함하는, 인터럽트 가능한 스레드 동기화 방법.
- 제 9항에 있어서,상기 인터럽트하는 단계는,상기 제1 스레드가 상기 브로드캐스트 시그널을 통해서 깨어나는 단계; 및상기 카운터 변수를 감소시키는 단계를 더 포함하는, 인터럽트 가능한 스레드 동기화 방법.
- 제 10항에 있어서,상기 인터럽트하는 단계는,상기 제1 스레드에 설정된 상기 모니터에 대한 정보를 삭제하는 단계를 더 포함하는, 인터럽트 가능한 스레드 동기화 방법.
- 제 1항 내지 제 11항 중 어느 한 항에 의한 방법을 실행하기 위한 컴퓨터로 읽을 수 있는 프로그램을 기록한 기록매체.
- 소정의 프로그램을 실행하는 프로세싱부; 및상기 프로세싱부의 동작에 필요한 메모리를 제공하는 주 저장부를 포함하고,상기 프로그램은 소정의 모니터를 사용하여 소정의 객체에 대한 하나 이상의 스레드들의 상호 배제적인 접근을 제어하는 제1 컴퓨터 코드, 및 상기 모니터를 대기하는 스레드를 인터럽트하는 제2 컴퓨터 코드를 포함하는, 디지털 연산 장치.
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020060018411A KR100763200B1 (ko) | 2006-02-24 | 2006-02-24 | 인터럽트 가능한 스레드 동기화 방법 및 장치 |
US11/655,928 US8286166B2 (en) | 2006-02-24 | 2007-01-22 | Interruptible thread synchronization method and apparatus |
JP2007042022A JP4685044B2 (ja) | 2006-02-24 | 2007-02-22 | インタラプト可能なスレッド同期化方法および記録媒体 |
EP07102974A EP1826671B1 (en) | 2006-02-24 | 2007-02-23 | Interruptible thread synchronization method and apparatus |
DE602007011131T DE602007011131D1 (de) | 2006-02-24 | 2007-02-23 | Verfahren und Vorrichtung für unterbrechbare Threadsynchronisation |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020060018411A KR100763200B1 (ko) | 2006-02-24 | 2006-02-24 | 인터럽트 가능한 스레드 동기화 방법 및 장치 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20070088159A KR20070088159A (ko) | 2007-08-29 |
KR100763200B1 true KR100763200B1 (ko) | 2007-10-04 |
Family
ID=38137445
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020060018411A KR100763200B1 (ko) | 2006-02-24 | 2006-02-24 | 인터럽트 가능한 스레드 동기화 방법 및 장치 |
Country Status (5)
Country | Link |
---|---|
US (1) | US8286166B2 (ko) |
EP (1) | EP1826671B1 (ko) |
JP (1) | JP4685044B2 (ko) |
KR (1) | KR100763200B1 (ko) |
DE (1) | DE602007011131D1 (ko) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101963922B (zh) * | 2010-09-29 | 2012-12-05 | 用友软件股份有限公司 | 任务处理方法和装置 |
WO2013156040A1 (en) | 2012-04-17 | 2013-10-24 | Volvo Lastvagnar Ab | A device for preventing theft of a first vehicle component, which is releasably connected to a second vehicle component |
JP6295990B2 (ja) * | 2015-03-31 | 2018-03-20 | 京セラドキュメントソリューションズ株式会社 | 電子機器および情報処理プログラム |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0889396A1 (en) | 1997-06-30 | 1999-01-07 | Sun Microsystems, Inc. | Thread synchronisation via selective object locking |
KR19990013394A (ko) * | 1997-07-07 | 1999-02-25 | 제프리엘.포맨 | 컴퓨터 자원 억세스 제어 장치 및 그 방법 |
JPH1173334A (ja) * | 1997-08-29 | 1999-03-16 | Sony Corp | データ処理方法、記録媒体及びデータ処理装置 |
EP0909094A1 (en) | 1997-10-07 | 1999-04-14 | CANAL+ Société Anonyme | Multithread data processor |
US6061710A (en) * | 1997-10-29 | 2000-05-09 | International Business Machines Corporation | Multithreaded processor incorporating a thread latch register for interrupt service new pending threads |
KR20030018891A (ko) * | 2001-08-31 | 2003-03-06 | 현대자동차주식회사 | 멀티 스레드 처리방법 |
KR20030056656A (ko) * | 2001-12-28 | 2003-07-04 | 한국전자통신연구원 | 자바 가상머신의 멀티 쓰레드 시스템에서의 동기화 장치및 방법 |
Family Cites Families (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2781742B2 (ja) | 1995-05-30 | 1998-07-30 | 甲府日本電気株式会社 | 並列計算機 |
US6108754A (en) * | 1997-04-03 | 2000-08-22 | Sun Microsystems, Inc. | Thread-local synchronization construct cache |
US5924098A (en) * | 1997-06-30 | 1999-07-13 | Sun Microsystems, Inc. | Method and apparatus for managing a linked-list data structure |
US6026427A (en) * | 1997-11-21 | 2000-02-15 | Nishihara; Kazunori | Condition variable to synchronize high level communication between processing threads |
JP3575593B2 (ja) | 1999-12-27 | 2004-10-13 | インターナショナル・ビジネス・マシーンズ・コーポレーション | オブジェクトのロック管理方法及び装置 |
US6951018B2 (en) * | 2000-05-30 | 2005-09-27 | Sun Microsystems, Inc. | Method and apparatus for efficiently tracking monitors |
US20020103942A1 (en) * | 2000-06-02 | 2002-08-01 | Guillaume Comeau | Wireless java device |
US6910209B2 (en) * | 2001-04-30 | 2005-06-21 | Sun Microsystems, Inc. | Clean thread termination |
GB0112571D0 (en) * | 2001-05-24 | 2001-07-18 | Ibm | Priority inversion in computer system supporting multiple processes |
GB0118294D0 (en) * | 2001-07-27 | 2001-09-19 | Ibm | Method and system for deadlock detection and avoidance |
US7363474B2 (en) | 2001-12-31 | 2008-04-22 | Intel Corporation | Method and apparatus for suspending execution of a thread until a specified memory access occurs |
JP3798726B2 (ja) * | 2002-04-26 | 2006-07-19 | インターナショナル・ビジネス・マシーンズ・コーポレーション | メモリ・アクセス順序付け及びロック管理の方法、装置、プログラム及び記録媒体 |
US7216346B2 (en) | 2002-12-31 | 2007-05-08 | International Business Machines Corporation | Method and apparatus for managing thread execution in a multithread application |
US7844973B1 (en) * | 2004-12-09 | 2010-11-30 | Oracle America, Inc. | Methods and apparatus providing non-blocking access to a resource |
US20060136886A1 (en) * | 2004-12-16 | 2006-06-22 | Bret Patterson | Process and implementation for interrupting locked threads |
US7716249B2 (en) * | 2005-09-16 | 2010-05-11 | Microsoft Corporation | Transaction and task scheduler |
US7681197B1 (en) * | 2005-09-21 | 2010-03-16 | Sun Microsystems, Inc. | Nested monitor handling processes |
-
2006
- 2006-02-24 KR KR1020060018411A patent/KR100763200B1/ko active IP Right Grant
-
2007
- 2007-01-22 US US11/655,928 patent/US8286166B2/en active Active
- 2007-02-22 JP JP2007042022A patent/JP4685044B2/ja not_active Expired - Fee Related
- 2007-02-23 DE DE602007011131T patent/DE602007011131D1/de active Active
- 2007-02-23 EP EP07102974A patent/EP1826671B1/en not_active Expired - Fee Related
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0889396A1 (en) | 1997-06-30 | 1999-01-07 | Sun Microsystems, Inc. | Thread synchronisation via selective object locking |
KR19990013394A (ko) * | 1997-07-07 | 1999-02-25 | 제프리엘.포맨 | 컴퓨터 자원 억세스 제어 장치 및 그 방법 |
JPH1173334A (ja) * | 1997-08-29 | 1999-03-16 | Sony Corp | データ処理方法、記録媒体及びデータ処理装置 |
EP0909094A1 (en) | 1997-10-07 | 1999-04-14 | CANAL+ Société Anonyme | Multithread data processor |
US6061710A (en) * | 1997-10-29 | 2000-05-09 | International Business Machines Corporation | Multithreaded processor incorporating a thread latch register for interrupt service new pending threads |
KR20030018891A (ko) * | 2001-08-31 | 2003-03-06 | 현대자동차주식회사 | 멀티 스레드 처리방법 |
KR20030056656A (ko) * | 2001-12-28 | 2003-07-04 | 한국전자통신연구원 | 자바 가상머신의 멀티 쓰레드 시스템에서의 동기화 장치및 방법 |
Also Published As
Publication number | Publication date |
---|---|
JP2007226807A (ja) | 2007-09-06 |
EP1826671A2 (en) | 2007-08-29 |
EP1826671B1 (en) | 2010-12-15 |
KR20070088159A (ko) | 2007-08-29 |
EP1826671A3 (en) | 2009-07-08 |
US8286166B2 (en) | 2012-10-09 |
JP4685044B2 (ja) | 2011-05-18 |
US20070204269A1 (en) | 2007-08-30 |
DE602007011131D1 (de) | 2011-01-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4759273B2 (ja) | データ処理装置及び共用資源へのアクセス制御方法 | |
US8327336B2 (en) | Enhanced thread stepping | |
US7904436B2 (en) | Realtime-safe read copy update with lock-free readers | |
CN108139946B (zh) | 用于在冲突存在时进行有效任务调度的方法 | |
US8938738B2 (en) | Shared user-mode for controlling synchronized access to a shared resource | |
JP6219445B2 (ja) | 中央処理ユニット及び画像処理ユニットの同期機構 | |
US20140380101A1 (en) | Apparatus and method for detecting concurrency error of parallel program for multicore | |
US20110047549A1 (en) | Manipulating a spin bit within the wait primitive | |
CA2999755A1 (en) | Accelerating task subgraphs by remapping synchronization | |
US9286120B2 (en) | Resource management with dynamic resource budgeting | |
JP6367490B2 (ja) | プロセッサトランザクショナルメモリサポートを用いるメモリアクセス保護 | |
US7444634B2 (en) | Method and apparatus for providing dynamic locks for global resources | |
KR100763200B1 (ko) | 인터럽트 가능한 스레드 동기화 방법 및 장치 | |
US8390631B2 (en) | Synchronizing queued data access between multiple GPU rendering contexts | |
US20140149621A1 (en) | Switching a Locking Mode of an Object in a Multi-Thread Program | |
US20120059997A1 (en) | Apparatus and method for detecting data race | |
US20150019846A1 (en) | System level architecture verification for transaction execution in a multi-processing environment | |
US20150193268A1 (en) | File lock and unlock mechanism | |
US9021483B2 (en) | Making hardware objects and operations thread-safe | |
CN111338831B (zh) | 一种多线程运行性能的处理方法、装置、介质和电子设备 | |
US8276147B2 (en) | Low synchronization means of scheduler finalization | |
US20150268706A1 (en) | System and method for memory power management in a system on a chip with multiple execution environments | |
US20170371675A1 (en) | Iteration Synchronization Construct for Parallel Pipelines | |
US9141310B1 (en) | Methods and apparatuses for shared state information among concurrently running processes or threads | |
US20130179731A1 (en) | Recovering from a thread hang |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20120814 Year of fee payment: 6 |
|
FPAY | Annual fee payment |
Payment date: 20130822 Year of fee payment: 7 |
|
FPAY | Annual fee payment |
Payment date: 20140822 Year of fee payment: 8 |
|
FPAY | Annual fee payment |
Payment date: 20150820 Year of fee payment: 9 |
|
FPAY | Annual fee payment |
Payment date: 20160819 Year of fee payment: 10 |
|
FPAY | Annual fee payment |
Payment date: 20170817 Year of fee payment: 11 |
|
FPAY | Annual fee payment |
Payment date: 20180820 Year of fee payment: 12 |
|
FPAY | Annual fee payment |
Payment date: 20190814 Year of fee payment: 13 |