PRODUCTS
Mathematica
Mathematica Home Edition
Mathematica for Students
Mathematica for the Classroom
grid
Mathematica
Wolfram Lightweight Grid Manager
web
Mathematica
Mathematica Player
(free download)
Mathematica Player Pro
Wolfram
Workbench
Mathematica
Applications
SOLUTIONS
Engineering
Aerospace Engineering & Defense
Chemical Engineering
Electrical Engineering
Image Processing
Industrial Engineering
Materials Science
Mechanical Engineering
Operations Research
Optics
Petroleum Engineering
Biotechnology & Medicine
Bioinformatics
Medical Imaging
Finance, Statistics, & Business Analysis
Actuarial Sciences
Data Analysis & Mining
Econometrics
Economics
Financial Engineering & Mathematics
Financial Risk Management
Statistics
Software Engineering & Content Delivery
Authoring & Publishing
Interface Development
Software Engineering
Web Development
Science
Astronomy
Biological Sciences
Chemistry
Environmental Sciences
Geosciences
Social & Behavioral Sciences
Design, Arts, & Entertainment
Game Design, Special Effects, & Generative Art
Education
Higher Education
Precollege Education
Students
Technology
Interactive Deployment
High-Performance & Parallel Computing (HPC)
See Also: Technology Guide
PURCHASE
Online Store
Other Ways to Buy
Volume & Site Licensing
Contact Sales
Software
Service
Upgrades
Training
Books
FOR USERS
All User Resources
Product Registration
Technical Support
Customer Service
Developer Support
Does My Site Have a License?
Free Seminars
Learning Center
Training
Custom Group Seminars
Documentation & Examples
Tutorial Screencasts
Video Gallery
Demonstrations Project
Education Portal
Student Resources
COMPANY
About Wolfram Research
News & Events
Wolfram Blog
Employment Opportunities
History of
Mathematica
Stephen Wolfram's Home Page
Contact Us
OUR SITES
Wolfram|Alpha
Demonstrations Project
Wolfram Blog
MathWorld
Integrator
Wolfram Functions Site
Mathematica Journal
Wolfram Library Archive
Wolfram
Tones
Wolfram Science
Stephen Wolfram
DOCUMENTATION CENTER SEARCH
Mathematica
>
Systems Interfaces & Deployment
>
Parallel Computing
>
Resource Sharing in Parallel Computing
>
Mathematica
>
Core Language
>
Tuning & Debugging
>
Parallel Computing
>
Resource Sharing in Parallel Computing
>
Built-in
Mathematica
Symbol
SetSharedVariable
ParallelSubmit
WaitAll
See Also »
|
Concurrency
Parallel Computing
Resource Sharing in Parallel Computing
Summary of New Features in 7.0
New in 7.0: Alphabetical Listing
New in 7.0: Systems Interfaces & Deployment
More About »
CriticalSection
CriticalSection
[{
var
1
,
var
2
,
...
},
expr
]
locks the variables
var
i
with respect to parallel computation, evaluates
expr
, then releases the
var
i
.
MORE INFORMATION
At most one instance of a critical section with the same lock variable is allowed to run concurrently on any parallel kernel.
Variables used as locks should not have a value in the master kernel.
EXAMPLES
CLOSE ALL
Basic Examples
(2)
Unsynchronized reading and writing access to a shared variable gives wrong results:
In[1]:=
In[2]:=
Out[2]=
The code between reading and writing
xs
should be run sequentially to avoid interference:
In[1]:=
In[2]:=
Out[2]=
SEE ALSO
SetSharedVariable
ParallelSubmit
WaitAll
MORE ABOUT
Concurrency
Parallel Computing
Resource Sharing in Parallel Computing
Summary of New Features in 7.0
New in 7.0: Alphabetical Listing
New in 7.0: Systems Interfaces & Deployment
New in 7