1. Thread Synchronization
The ability to synchronize the activities of various threads. A thread synchronizes itself with another thread by putting itself to sleep. Before doing so, the thread notifies the operating system as to what event has to occur in order for the thread to resume execution.
2. Locks:
It is used to prevent conflict by ensuring that only one thread can access the resource at a time. It might be read or write lock.
Once the lock has been assigned to a particular thread, only the thread processing the lock could process it. The lock would then be released when they are no longer required.
3. Deadlock:
It describes a situation where two or more threads are blocked forever, waiting for each others response. When Deadlock runs, it’s extremely likely that both threads will block when they attempt to invoke back. The block will not end, because each thread is waiting for the other to exit.
4. Semaphores;
A semaphore is similar to a lock for an object or method. When a thread enters into a semaphores protected section, the thread must acquire the semaphore in order to process through the section. After the thread is through the section, the semaphores would be released for any thread. Difference between semaphore and lock are that lock is mutually exclusive where semaphores exists more than one to a maximum number defined by the application.
5. Mutex (mutual exclusion)
A mutex is a common name for a program object that negotiates mutual exclusion among threads, also called a lock.
This is used in concurrent programming to avoid the simultaneous use of a common resource, such as a global variable, by pieces of computer code called critical sections.
6. Thread
A thread is an execution of a chunk of code which can be processed in parallel with the execution of other chunk codes. Computer with multi-process can process different thread in parallel at the same time.Every thread has a priority. Threads with higher priority are executed in preference to threads with lower priority.
7. Event
Event can be considered as action, changes or transactions in concurrent programming.The associated script is written to response to such action or user response as event handling scripts.
8. Waitable timer.
A waitable timer is a synchronized object, which would signal its state when the specified period is expired. There are 3 types of waitable timer in concurrent programming as follows:-
- manual-reset timer
- synchronization timer
- periodic timer
Reference ;
Venners, B. (1997). How the Java virtual machine performs thread synchronization. Javaworld.com. Retrieved may29th, 2009 from
http://www.javaworld.com/javaworld/jw-07-1997/jw-07-hood.html
Winquist, N. (2005). Mutex vs. semaphore, what is the difference? Retrieved may 29th, 2009 from http://koti.mbnet.fi/niclasw/MutexSemaphore.html.
http://en.wikipedia.org/wiki/Mutual_exclusion