Unlock - Maple Help
For the best experience, we recommend viewing online help using Google Chrome or Microsoft Edge.

Online Help

Threads[Mutex]

  

Unlock

  

unload a mutex

 

Calling Sequence

Description

Examples

Calling Sequence

Unlock( mutexId )

Description

• 

The Unlock command releases the lock on the mutex with identifier mutexId.  The thread evaluating the call to Unlock should have previously acquired the lock by calling the Lock command.

• 

For more information on using mutexes, see the Mutex help page.

Examples

p := proc( m )
   global count;
   print( count );
   count := count+1;
end proc;

(1)

(2)

Create ten threads running the p function.

(3)

Without mutexes the same value may be printed multiple times.  (You may have to execute this command multiple times to see this occur.)

p := proc( m )
   global count;
   Threads[Mutex][Lock]( m );

   print( count );
   count := count+1;

   Threads[Mutex][Unlock]( m );
end proc;

(4)

(5)

(6)

Create ten threads running the new p function.

(7)

Using a mutex allows you to control access to the shared variable.  Thus each number will be printed only once.

See Also

Threads

Threads[Create]

Threads[Mutex]

Threads[Mutex][Create]

Threads[Mutex][Destroy]

Threads[Mutex][Lock]

 


Download Help Document