Maple Professional
Maple Academic
Maple Student Edition
Maple Personal Edition
Maple Player
Maple Player for iPad
MapleSim Professional
MapleSim Academic
Maple T.A. - Testing & Assessment
Maple T.A. MAA Placement Test Suite
Möbius - Online Courseware
Machine Design / Industrial Automation
Aerospace
Vehicle Engineering
Robotics
Power Industries
System Simulation and Analysis
Model development for HIL
Plant Modeling for Control Design
Robotics/Motion Control/Mechatronics
Other Application Areas
Mathematics Education
Engineering Education
High Schools & Two-Year Colleges
Testing & Assessment
Students
Financial Modeling
Operations Research
High Performance Computing
Physics
Live Webinars
Recorded Webinars
Upcoming Events
MaplePrimes
Maplesoft Blog
Maplesoft Membership
Maple Ambassador Program
MapleCloud
Technical Whitepapers
E-Mail Newsletters
Maple Books
Math Matters
Application Center
MapleSim Model Gallery
User Case Studies
Exploring Engineering Fundamentals
Teaching Concepts with Maple
Maplesoft Welcome Center
Teacher Resource Center
Student Help Center
Threads[Mutex] パッケージの概要
使い方
Threads[Mutex][command](arguments)
command(arguments)
説明
Threads[Mutex] パッケージはミューテックスを使うためのユーザコマンドを提供します。ミューテックスは複数のスレッドが動いているときデータへのアクセスを制御するために使います。
ミューテックスにはロックまたはアンロックの状態のいずれかにできるものです。スレッドはアンロックされているミューテックスをロックすることができます。同じスレッドはミューテックスをあとでアンロックすることができます。ミューテックスがロックしている間、ロックしようとしたスレッドの実行はアンロックされるまで中断します。一度アンロックすると、待機しているスレッドはロックされるまで継続します。
複数のスレッドがロックされているミューテックスが待機およびミューテックスがアンロックとなったとき、スレッドの 1 つは ロックされるまで継続します。その他のスレッドはロックを得るまで待機し続けます。
ミューテックスの典型的な使い方は、複数のスレッドで分配されるデータ構造へのアクセスを制御します。例として、共有データに保存される仕事をしている 2 つのスレッドです。スレッドがデータ構造へのアクセスを保護しない限り、いずれのスレッドもリストから同じ仕事を取ろうとするかもしれません。さらに悪いことに、データ構造は平行した操作のため壊れるかもしれません。
ミューテックスを使ってこの問題を解決するために、ミューテックスをデータ構造と結びつけます。スレッドがデータ構造を操作したいときは、いつもミューテックスのロックを得る必要があります。一度ロックを得ると、そのスレッドはデータ構造へ排他的なアクセスをします。一度、スレッドが終了するとミューテックスをロックします。もし 2 つめのスレッドが 1 つめのスレッドがロックしている間にデータ構造にアクセスを試みた場合、処理は中断されミューテックスが使えるようになるのを待ちます。
Threads[Mutex] コマンドのリスト
Create Destroy Lock Unlock
Create コマンドは新しいミューテックスを作成します。
Destroy コマンドはミューテックスを破棄します。
Lock コマンドはミューテックスをロックします。
Unlock コマンドはミューテックスのロック解除します。
参照
examples/Threads, Threads, Threads[ConditionVariable], help, module, UsingPackages, with
Download Help Document