What is meant by the phrase thread-safe, Operating System

The term thread-safe in computer programming describes that routine or portion of the program that may be called from multiple programming threads without uncalled for interactions between the threads. (The instance of the program which runs on behalf of some user or process is called Thread) The importance of thread safety to object oriented programming language is that it gives built-in support for threads. By the use of thread-safe routines, the risk of one thread interfering and modifing data elements of another thread gets eliminated by circumventing future/potential data race situations with coordinated access to shared data. 

It is possible to ensure that a routine is thread-safe by ensuring that synchronized algorithms are used by the concurrent threads use that cooperate with each other and limiting the shared object's  address to a single thread each time an unsynchronized algorithm is active. 

Web Reference: by Douglas C. Schmidt, 2005

                        Strategized Locking, Thread-safe Interface, and Scoped Locking                       

 

                    Present your own fully documented and tested programming example illustrating the use of locks to govern access to critical sections.

 

std::atomic inspct = 0;

int counts = 0;

Lock lck; ----

 

    if (lck.TryEnter()) {

        inspct.store(/* get thread id */, memory_order_relaxed);

        return true;

    }

    return false;

} 

bool TryEnter() {

    if (inspct.load(memory_order_relaxed) == /* get thread id */) {

        counts += 1;

        return true;

    } 

void Exit() {

    if (counts != 0) {

        counts -= 1;

        return;

    }

    inspct.store(0, memory_order_relaxed);

    lck.Exit();

}

The atomic variables do not cause data races, even in the most relaxed states. Here the variable is declared as atomic, There is no reason why the compiler would assume that the write can’t be implimented by other threads. 

Posted Date: 6/29/2012 2:16:05 AM | Location : United States







Related Discussions:- What is meant by the phrase thread-safe, Assignment Help, Ask Question on What is meant by the phrase thread-safe, Get Answer, Expert's Help, What is meant by the phrase thread-safe Discussions

Write discussion on What is meant by the phrase thread-safe
Your posts are moderated
Related Questions
The following is a dump of a TCP header in hexadecimal format: 00CD0018 00000EF1 00000D5D 502200D1 01BF0010 We need to first split the above hex as such 00 CD 00 18 00 00

What factors are involved in choosing the host operating system?

Explain the Resource Ownership and Control Operating systems are required to handle many different types of resources. CPU , memory, and I/O devices  are some of the varied sys

Question: a) Each process is represented in the operating system by a process control block (PCB). The PCB contains many pieces of information associated with a specific proce

A- Consider a computer system that provides a virtual memory space that consists of 8  pages. The physical memory contains 4 pages where the page size is 4Kbytes. Assume that at sp

Discuss the risks of having a single root user


What is a process? A process is a program in implementation. It is an active entity and it contains the process stack, having temporary data and the data section includes globa

Paging: Only the needed memory pages are moved to main memory from the swap machine for execution. Process size does not matter. Produce the concept of the virtual memory. It

List sample file types, based on use, on the VAX under VMS.  source programs (.BAS, .FOR, .COB, .PLI, .PAS, .MAR)  data files (.DAT)  text files (.TXT)  command proced