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

Assignment Help:

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. 


Related Discussions:- What is meant by the phrase thread-safe

What is the cache coherency problem, Question: (a) Modern processors op...

Question: (a) Modern processors operate in one of two modes: one for the operating system and one for applications. What is the purpose of having these two modes? What are

Cpu scheduling alogarithm program in javascript, a program that can do cpu ...

a program that can do cpu scheduling algorithm priority using javascript or php to display gaant chart and calculate waiting and average waiting time

Changing the runlevel of system from 5 to 3 on startup, Front page We n...

Front page We need to continue or customization and documentation of our system. Currently our system boots into runlevel 5 and we need it to boot into runlevel 3. For future r

Explain how indefinite blocking or starvation occur, explain how indefinit...

explain how indefinite blocking or starvation occurs..

What is a relocatable program, What is a Relocatable program? The Reloc...

What is a Relocatable program? The Relocatable programs can be loaded almost anywhere in memory.

Explain additional-reference-bits algorithm, Additional-reference-bits algo...

Additional-reference-bits algorithm We can keep an 8-bit byte for every page in a table in memory. The operating system shifts the reference bits right 1 bit, discarding the lo

Queing theory, how to solve queing theory step by step

how to solve queing theory step by step

Operation managmant, what is the function of operation management?

what is the function of operation management?

Write a note on deadlocks, Write a note on deadlocks. The proper defini...

Write a note on deadlocks. The proper definition of deadlock A set of processes is deadlocked if every process in the set is waiting for an event that only a proces

Write Your Message!

Captcha
Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd