Permission is granted to copy, distribute and/or modify this document.

या दस्तऐवजाची प्रत बनवण्याची, वितरित करण्याची आणि/किंवा त्यात बदल करण्याची परवानगी आहे.


This document is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International (CC BY-NC-SA 4.0).

हे दस्तऐवज क्रिएटिव्ह कॉमन्स एट्रीब्यूशन-नॉनकमर्शियल-शेअरएलाइक 4.0 इंटरनॅशनल (CC BY-NC-SA 4.0) अंतर्गत परवानग्यांसह परवानाकृत आहे.


The document covers topics on concurrent programming.

हे दस्तऐवज समवर्ती प्रोग्रामिंगवरील विषयांचा समावेश करते.


Hello World! is a common introductory program.

नमस्कार जग! एक सामान्य प्रारंभिक कार्यक्रम आहे.


Concurrent programming presents several challenges.

समवर्ती प्रोग्रामिंग अनेक आव्हाने सादर करते.


The Harmony Virtual Machine is discussed in detail.

Harmony व्हर्च्युअल मशीनची विस्तृत चर्चा केली आहे.


Critical sections are essential for managing shared resources.

सामायिक संसाधनांचे व्यवस्थापन करण्यासाठी गंभीर विभाग आवश्यक आहेत.


Understanding Harmony methods and pointers is crucial.

Harmony पद्धती आणि पॉइंटर समजून घेणे महत्त्वाचे आहे.


Specifying a lock is a fundamental concept.

लॉक निर्दिष्ट करणे ही एक मूलभूत संकल्पना आहे.


Various lock implementations are explored.

विविध लॉक अंमलबजावणीचे परीक्षण केले जाते.


Concurrent data structures are a key topic.

समवर्ती डेटा संरचना एक महत्त्वाचा विषय आहे.


Testing and debugging are vital for correctness.

सत्यता तपासण्यासाठी आणि डीबगिंग करणे आवश्यक आहे.


Conditional waiting mechanisms are also covered.

शर्त प्रतीक्षा यंत्रणा देखील समाविष्ट आहेत.


Reader/Writer locks and bounded buffers are examples.

रीडर/रायटर लॉक आणि मर्यादित बफर हे त्याचे उदाहरण आहेत.


Condition variables are an important synchronization tool.

कंडिशन व्हेरिएबल्स हे एक महत्त्वाचे सिंक्रोनायझेशन साधन आहे.


Starvation and deadlock are potential problems.

स्टारव्हेशन (starvation) आणि डेडलॉक (deadlock) ह्या संभाव्य समस्या आहेत.


Actors and message passing offer an alternative.

अभिनेते (actors) आणि संदेश पाठवणे एक पर्याय देतात.


Barrier synchronization is used for coordinating threads.

थ्रेड्सचे समन्वय साधण्यासाठी बॅरियर सिंक्रोनायझेशन वापरले जाते.


Advanced barrier synchronization techniques are discussed.

प्रगत बॅरियर सिंक्रोनायझेशन तंत्रांवर चर्चा केली जाते.


The document provides an example of a concurrent file service.

दस्तऐवजात समवर्ती फाईल सेवेचे उदाहरण दिले आहे.


The person can only carry one item at a time.

माणूस एका वेळी फक्त एकच वस्तू घेऊन जाऊ शकतो.


If the goat is left alone with the cabbage, it will eat it.

जर बोकडाला कोबीसोबत एकटे सोडले, तर तो कोबी खाईल.


सुरुवातीला कुलूप (लॉक) False वर सेट केलेले असते.


The acquire() operation waits until the lock is False.

acquire() ऑपरेशन कुलूप False होईपर्यंत प्रतीक्षा करते.


Locks may be used to implement a critical section.

गंभीर विभाग (critical section) अंमलात आणण्यासाठी कुलुपांचा वापर केला जाऊ शकतो.


या कोडमुळे प्रोग्राम दुरुस्त होतो.


Atomic statements are not intended to replace locks.

अणू विधान (Atomic statements) कुलुपांची जागा घेण्यासाठी नाहीत.


Data races can be avoided by making operations atomic.

ऑपरेशन्स अणू (atomic) बनवून डेटा रेस टाळता येतात.


प्रोग्राम N+1 बुलियन व्हेरिएबल्स वापरतो.


Each thread is spinning until it can acquire the lock.

प्रत्येक थ्रेड (thread) कुलूप मिळवेपर्यंत फिरत राहतो.


ही पद्धत व्हेरिएबलला True सेट करते.


The spinlock implementation suffers potentially from starvation.

स्पिनलॉक अंमलबजावणीमुळे संभाव्य उपासमार होऊ शकते.


टिकेट लॉक उपासमार टाळते.


The counter is incremented every time a customer has been helped.

प्रत्येक वेळी ग्राहकाला मदत केल्यावर काउंटर वाढवला जातो.


Threads are blocked while they wait for a disk block.

थ्रेड्स डिस्क ब्लॉकची प्रतीक्षा करत असताना ब्लॉक होतात.


The expression causes the context of the thread to be saved.

हे विधान थ्रेडचा संदर्भ जतन करते.


Sequential specifications are useful to write down.

अनुक्रमिक (sequential) तपशील (specifications) लिहायला उपयुक्त आहेत.


कार्यवाही (operations) अंमलबजावणीमध्ये (execution) एकमेकांवर येऊ शकतात.


The implementation uses a lock-based critical section.

अंमलबजावणी कुलूप-आधारित गंभीर विभाग वापरते.


The put() and get() methods both take a pointer to the queue object.

put() आणि get() दोन्ही पद्धती रांगेतील ऑब्जेक्टकडे निर्देश (pointer) घेतात.


The program demonstrates non-determinism in concurrent programming.

हा कार्यक्रम एकाधिक कार्यान्वयनात अनिश्चितता दर्शवतो.


Harmony कार्यक्रमांमध्ये इनपुट नसतं.


The output of running concurrent programs depends on how the execution of the various threads are interleaved.

एकाधिक प्रोग्राम चालवण्याचा आउटपुट विविध थ्रेड्सच्या अंमलबजावणीवर अवलंबून असतो.


Bugs are reproducible and thus easy to track down.

त्रुटी पुन्हा तयार करता येतात आणि त्यामुळे शोधणे सोपे होते.


The execution of a sequential program is usually deterministic.

एका क्रमागत कार्यक्रमाची अंमलबजावणी सामान्यतः निश्चित असते.


Harmony is a concurrent programming and specification language.

Harmony हे एकाधिक प्रोग्रामिंग आणि स्पेसिफिकेशन भाषा आहे.


The book proceeds as follows: Chapter 2 introduces the Harmony programming language.

पुस्तक खालीलप्रमाणे पुढे जाते: धडा 2 Harmony प्रोग्रामिंग भाषेची ओळख करून देतो.


In Python, lists, dictionaries, and sets are (mutable) objects.

पायथनमध्ये, सूची, शब्दकोश आणि संच (बदलण्यायोग्य) वस्तू आहेत.


Harmony does not support floating point.

Harmony फ्लोटिंग पॉइंटला समर्थन देत नाही.


The program chooses to print either “hello” or “world”.

हा कार्यक्रम “hello” किंवा “world” प्रिंट करणे निवडतो.


The possible outputs consist of zero or more copies of the string “hello world”.

शक्य असलेले आउटपुट “hello world” या स्ट्रिंगच्या शून्य किंवा अधिक प्रतींचे बनलेले आहे.


Harmony मध्ये प्रिंट करणे अणुस्वरूपात होते.


The programmer specified that the two print statements in a thread should be executed as an atomic unit.

प्रोग्रामरने निर्दिष्ट केले की एका थ्रेडमधील दोन प्रिंट स्टेटमेंट अणुघटक म्हणून कार्यान्वित केले पाहिजेत.


Harmony programs are not intended to be “run” like programs in most other programming languages.

Harmony प्रोग्रामचा उद्देश इतर प्रोग्रामिंग भाषांप्रमाणे “run” करणे नाही.


Model checking only verifies that a program is correct for some model.

मॉडेल चेकिंग फक्त हे सत्यापित करते की प्रोग्राम काही मॉडेलसाठी योग्य आहे.


If the model checker does not find any bugs, we do not know for sure that the algorithm works.

जर मॉडेल चेकरला कोणतीही त्रुटी आढळली नाही, तर आपल्याला खात्री नाही की अल्गोरिदम कार्य करतो.


Model checking can help with proving an algorithm correct.

मॉडेल चेकिंग अल्गोरिदम योग्य असल्याचे सिद्ध करण्यात मदत करू शकते.


Harmony is heavily influenced by Leslie Lamport’s work.

Harmony वर लेस्ली लॅम्पर्ट यांच्या कामाचा मोठा प्रभाव आहे.


The first C program in the book printed the string “hello, world”.

पुस्तकातील पहिला सी प्रोग्राम “hello, world” ही स्ट्रिंग प्रिंट करतो.


After installation, you can run Harmony from the command line.

स्थापनानंतर, तुम्ही कमांड लाइनवरून Harmony चालवू शकता.


The code will prevent two or more threads from executing in the critical section at the same time.

हा कोड दोन किंवा अधिक थ्रेड्सना एकाच वेळी गंभीर विभागात कार्यान्वित होण्यापासून रोखेल.


Mutual exclusion is an example of a safety property.

परस्पर अपवर्जन हे सुरक्षिततेच्या गुणधर्माचे उदाहरण आहे.


We want to ensure that eventually something good will happen.

आपण हे सुनिश्चित करू इच्छितो की शेवटी काहीतरी चांगले घडेल.


If threads in the critical section always leave eventually, then eventually one thread will enter the critical section.

जर गंभीर विभागातील थ्रेड्स नेहमीच बाहेर पडले, तर शेवटी एक थ्रेड गंभीर विभागात प्रवेश करेल.


In order to detect violations of progress, Harmony requires that every execution must be able to reach a state in which all threads have terminated.

प्रगतीचे उल्लंघन शोधण्यासाठी, Harmony आवश्यक आहे की प्रत्येक अंमलबजावणी अशा स्थितीत पोहोचू शकली पाहिजे जिथे सर्व थ्रेड्स संपुष्टात आलेले आहेत.


We will instead model threads in critical sections using the framework in Figure 5.2.

याऐवजी, आम्ही आकृती 5.2 मधील फ्रेमवर्क वापरून गंभीर विभागांमधील थ्रेड्सचे मॉडेल तयार करू.


A thread can choose to enter a critical section more than once, but it can also choose to terminate.

एक थ्रेड एकापेक्षा जास्त वेळा गंभीर विभागात प्रवेश करणे निवडू शकतो, परंतु तो संपुष्टात येणे देखील निवडू शकतो.


This code specifies that at most one thread can be executing in the critical section.

हा कोड निर्दिष्ट करतो की जास्तीत जास्त एक थ्रेड गंभीर विभागात कार्यान्वित होऊ शकतो.


You may already have heard of the concept of a lock.

तुम्ही आधीच लॉकच्या संकल्पनेबद्दल ऐकले असेल.


The idea is that the lock is like a baton that at most one thread can own.

कल्पना अशी आहे की लॉक एका बॅटनसारखे आहे जे जास्तीत जास्त एका थ्रेडच्या मालकीचे असू शकते.


Using a lock is a good thought, but how does one implement one?

लॉक वापरणे चांगली कल्पना आहे, पण ते कसे लागू करायचे?


Unfortunately, if we run the program through Harmony, we find that the assertion fails.

दुर्दैवाने, जर आपण Harmony द्वारे प्रोग्राम चालवला, तर आपल्याला आढळते की विधान अयशस्वी होते.


The lockTaken variable suffers from the same sort of race condition.

lockTaken व्हेरिएबल त्याच प्रकारच्या रेस कंडिशनचा बळी आहे.


Preventing multiple threads from updating the same variable.

एकाधिक थ्रेड्सना समान व्हेरिएबल अपडेट करण्यापासून प्रतिबंधित करणे.


If thread i is in the critical section, then flags[i] = True.

जर थ्रेड i गंभीर विभागात असेल, तर flags[i] = True.


To reach the critical section, thread 1 would first have to set flags[1] to True.

गंभीर विभागात पोहोचण्यासाठी, थ्रेड 1 ला प्रथम flags[1] True वर सेट करावे लागेल.


Each thread politely lets the other thread have a turn first.

प्रत्येक थ्रेड दुसर्‍या थ्रेडला प्रथम वळण घेण्याची परवानगी देतो.


You may now start to think that a solution to the mutual exclusion problem without special hardware support is impossible.

आता तुम्हाला असे वाटू शकते की विशेष हार्डवेअर सपोर्टशिवाय परस्पर अपवर्जनाच्या समस्येचे निराकरण करणे अशक्य आहे.


Peterson’s algorithm implements a critical section, but it is not efficient.

पेटर्सनचा अल्गोरिदम एक गंभीर विभाग लागू करतो, परंतु तो कार्यक्षम नाही.


Modern processors sometimes re-orders load and store operations for improved performance.

आधुनिक प्रोसेसर कधीकधी कार्यक्षमतेत सुधारणा करण्यासाठी लोड आणि स्टोअर ऑपरेशन्स पुन्हा क्रमवारी लावतात.


The machine does not have instructions to atomically increment or decrement values in shared memory locations.

यंत्रामध्ये सामायिक मेमरी स्थानांमधील मूल्यांमध्ये अणुशक्तीने वाढ किंवा घट करण्यासाठी सूचना नाहीत.


When running multiple threads, each essentially runs an instantiation of the machine, and they do so in parallel.

जेव्हा एकाधिक थ्रेड चालतात, तेव्हा प्रत्येकजण यंत्राचे उदाहरण चालवतो आणि ते समांतरपणे असे करतात.


A program is correct if it works for all possible interleavings of threads.

जर थ्रेड्सच्या सर्व संभाव्य इंटरलीव्हिंगसाठी प्रोग्राम कार्य करत असेल, तर तो योग्य आहे.


Harmony will try all interleavings and report an error even if only one of those interleavings fails.

Harmony सर्व इंटरलीव्हिंगचा प्रयत्न करेल आणि जरी त्यापैकी फक्त एक इंटरलीव्हिंग अयशस्वी झाले तरी त्रुटी नोंदवेल.


If the threads run one at a time to completion, then x will be incremented twice and ends up being 2.

जर थ्रेड्स एका वेळी पूर्ण होण्यासाठी चालले, तर x दोनदा वाढेल आणि 2 होईल.


याला रेस कंडिशन म्हणून ओळखले जाते.


When running a program with Harmony, it will report violations of assertions.

Harmony सह प्रोग्राम चालवताना, ते विधान उल्लंघनाचे अहवाल देईल.


If one thinks of the assertion as providing the specification of the program, then clearly its implementation does not satisfy its specification.

जर कोणी विधानाला प्रोग्रामचे तपशील देत असेल, तर हे स्पष्ट आहे की त्याची अंमलबजावणी त्याच्या तपशिलाचे समाधान करत नाही.


Either the specification or the implementation (or both) must have a bug.

एकतर तपशील किंवा अंमलबजावणी (किंवा दोन्ही) मध्ये दोष असणे आवश्यक आहे.


We could change the specification by changing the assertion as follows: finally(x== 1)or(x== 2)

आम्ही खालीलप्रमाणे विधान बदलून तपशील बदलू शकतो: शेवटी(x== 1) किंवा(x== 2)


This would fix the issue, but more likely it is the program that must be fixed, not the specification.

यामुळे समस्या सुटेल, परंतु बहुधा प्रोग्राम दुरुस्त करणे आवश्यक आहे, तपशील नाही.


Run Figure 3.4 using Python. Does the assertion fail?

Python वापरून आकृती 3.4 चालवा. विधान अयशस्वी होते का?


Using a script, run Figure 3.4 1000 times.

एका स्क्रिप्टचा वापर करून, आकृती 3.4 1000 वेळा चालवा.


How many times does the assertion fail (if any)?

विधान किती वेळा अयशस्वी होते (जर काही)?


Report how many times the assertion fails and what the value of x was for each of the failed runs.

विधान किती वेळा अयशस्वी होते आणि अयशस्वी धावांसाठी x चे मूल्य काय होते, याचा अहवाल द्या.


Also experiment with other values of N. How large does N need to be for assertions to fail?

N च्या इतर मूल्यांसह प्रयोग करा. विधानांना अयशस्वी होण्यासाठी N किती मोठे असणे आवश्यक आहे?


Harmony programs can usually be easily translated into Python by hand using minor modifications.

Harmony प्रोग्राम सामान्यत: लहान बदलांचा वापर करून सहजपणे Python मध्ये रूपांतरित केले जाऊ शकतात.


The Harmony compiler, harmony, places the bytecode for file x.hny in file x.hvm.

Harmony कंपाइलर, harmony, x.hny फाइलसाठी बायटकोड x.hvm फाइलमध्ये ठेवतो.


The model checker (called Charm) executes the code in x.hvm and places its output in a file called x.hco.

मॉडेल चेकर (Charm म्हणतात) x.hvm मधील कोड कार्यान्वित करतो आणि त्याचे आउटपुट x.hco नावाच्या फाइलमध्ये ठेवतो.


To understand the problem of concurrent computing, it is important to have a basic understanding of machine instructions.

समवर्ती संगणकाची समस्या समजून घेण्यासाठी, मशीन सूचनांची मूलभूत माहिती असणे आवश्यक आहे.


आज सूर्य खूप तेजस्वीपणे चमकत आहे.


कृपया, मला मीठ द्याल का?


I am going to the market to buy some vegetables.

मी बाजारात भाजीपाला खरेदीसाठी जात आहे.


The company announced its quarterly profits.

कंपनीने तिच्या तिमाही नफ्याची घोषणा केली.


The new technology has revolutionized the industry.

नवीन तंत्रज्ञानाने उद्योगात क्रांती घडवून आणली आहे.


Despite the challenges, they persevered and succeeded.

आव्हानांवर मात करूनही, त्यांनी चिकाटीने काम केले आणि यश मिळवले.


The government is implementing new policies to boost the economy.

सरकार अर्थव्यवस्थेला चालना देण्यासाठी नवीन धोरणे राबवत आहे.


The research team is conducting experiments in the laboratory.

संशोधन पथक प्रयोगशाळेत प्रयोग करत आहे.


He is a renowned scholar in the field of astrophysics.

तो खगोल भौतिकशास्त्रातील एक प्रसिद्ध विद्वान आहे.


The intricate details of the artwork were mesmerizing.

कलाकृतीचे गुंतागुंतीचे तपशील खूप मोहक होते.


The algorithm efficiently sorts the data.

अल्गोरिदम डेटाची कार्यक्षमतेने क्रमवारी लावतो.


The implications of climate change are far-reaching.

हवामान बदलाचे दूरगामी परिणाम आहेत.


The philosophical debate explored the nature of consciousness.

तत्त्वज्ञानाच्या वादविवादात चेतनेच्या स्वरूपाचा शोध घेण्यात आला.


The complex interplay of economic factors led to the market crash.

आर्थिक घटकांच्या जटिल आंतरक्रियेमुळे बाजारात घसरण झाली.


Quantum entanglement presents a profound challenge to our understanding of reality.

क्वांटम एन्टेन्गलमेंट (Quantum entanglement) आपल्या वास्तवाच्या समजाला एक गंभीर आव्हान आहे.


The ethical considerations surrounding artificial intelligence are constantly evolving.

कृत्रिम बुद्धिमत्तेच्या (artificial intelligence) संदर्भातील नैतिक विचार सतत बदलत आहेत.


The socio-political landscape of the region is undergoing significant transformation.

या प्रदेशातील सामाजिक-राजकीय स्थित्यंतर मोठ्या प्रमाणात होत आहे.


The intricate choreography of the dance performance captivated the audience.

नृत्य सादरीकरणातील गुंतागुंतीच्या नृत्य दिग्दर्शनाने प्रेक्षकांना मंत्रमुग्ध केले.


The ramifications of the treaty were debated extensively by the international community.

या कराराचे परिणाम आंतरराष्ट्रीय समुदायाने मोठ्या प्रमाणावर चर्चिले.


The epistemological framework of the study was rigorously examined.

अभ्यासाचा ज्ञानशास्त्रीय (epistemological) आराखडा कठोरपणे तपासला गेला.


Alice and Bob need a network protocol to reliably send messages between them.

ॲलिस आणि बॉबला एकमेकांमध्ये संदेश विश्वसनीयपणे पाठवण्यासाठी एक नेटवर्क प्रोटोकॉलची आवश्यकता आहे.


The Alternating Bit Protocol is suitable for our purposes.

आमच्या गरजेसाठी पर्यायी बिट प्रोटोकॉल योग्य आहे.


Alice sends application messages in a specific order.

ॲलिस विशिष्ट क्रमाने ॲप्लिकेशन संदेश पाठवते.


बॉब ॲप्लिकेशन संदेश प्राप्त करतो.


The network is fair, and Alice sends application messages.

नेटवर्क योग्य आहे, आणि ॲलिस ॲप्लिकेशन संदेश पाठवते.


Bob should eventually deliver the message.

बॉबने शेवटी संदेश वितरीत केला पाहिजे.


We assume there are two unreliable network channels.

आम्ही असे मानतो की दोन अविश्वसनीय नेटवर्क चॅनेल आहेत.


Alice and Bob each maintain a sequence number.

ॲलिस आणि बॉब प्रत्येकाकडे एक क्रम संख्या आहे.


ॲलिस बॉबला एक नेटवर्क संदेश पाठवते.


बॉब ॲलिसला पोचपावती देतो.


याला पुन्हा प्रसारण म्हणतात.


ॲलिस तिची क्रम संख्या वाढवते.


Bob waits until he receives a message matching his sequence number.

बॉब त्याच्या क्रम नंबरशी जुळणारा संदेश येईपर्यंत प्रतीक्षा करतो.


Bob delivers the payload in the message.

बॉब संदेशातील पेलोड वितरीत करतो.


एक-बिट क्रम संख्या पुरेशी आहे.


We can model each channel as a variable.

आम्ही प्रत्येक चॅनेलला एक व्हेरिएबल म्हणून मॉडेल करू शकतो.


The method places a message in the channel.

ही पद्धत चॅनेलमध्ये एक संदेश ठेवते.


Method appsend retransmits until an acknowledgment is received.

ॲपसेन्ड पद्धत, पोचपावती मिळेपर्यंत पुन्हा प्रसारित करते.


Method apprecv returns the next successfully received message.

ॲपरिसीव्ह पद्धत, पुढील यशस्वीरित्या प्राप्त झालेला संदेश परत करते.


संदेशांची संख्या मर्यादित असणे आवश्यक आहे.


The file system uses worker threads for file operations.

फाईल सिस्टीम फाईल ऑपरेशन्ससाठी कामगार थ्रेड वापरते.


Each block holds an arbitrary Harmony value.

प्रत्येक ब्लॉक एक मनमानी हार्मनी मूल्य ठेवतो.


The file system interface is shown in Figure 19.1.

फाईल सिस्टीम इंटरफेस आकृती 19.1 मध्ये दर्शविला आहे.


We will focus on a low-level notion of a file.

आम्ही फाईलच्या निम्न-स्तरीय संकल्पनेवर लक्ष केंद्रित करू.


The system of folders associates user-readable names to the files.

फोल्डर्सची प्रणाली वापरकर्त्यास वाचनीय नावे फाईल्सशी जोडते.


Just like in Unix-like file systems, you have to specify the number of files.

युनिक्स-सारख्या फाईल सिस्टीमप्रमाणे, तुम्हाला फाईल्सची संख्या निर्दिष्ट करावी लागेल.


File(n) returns a handle that must be passed to file operations.

फाईल(n) एक हँडल परत करते जे फाईल ऑपरेशन्समध्ये पास करणे आवश्यक आहे.


The test program for a concurrent file system is shown in Figure 19.2.

एका समवर्ती फाईल सिस्टीमसाठी चाचणी कार्यक्रम आकृती 19.2 मध्ये दर्शविला आहे.


The disk is an array of blocks of fixed length.

डिस्क निश्चित लांबीच्या ब्लॉक्सची एक श्रेणी आहे.


Each block is identified by its offset or block number.

प्रत्येक ब्लॉक त्याच्या ऑफसेट किंवा ब्लॉक नंबरने ओळखला जातो.


ऑपरेशन्स अणु नाहीत.


The implementation may want to include a cache of blocks for good performance.

चांगल्या कार्यक्षमतेसाठी अंमलबजावणीमध्ये ब्लॉक्सचा कॅशे समाविष्ट करण्याचा विचार केला जाऊ शकतो.


In a Unix file system, the disk is subdivided into three parts.

युनिक्स फाईल सिस्टीममध्ये, डिस्क तीन भागांमध्ये विभागलेली आहे.


The superblock specifies the number of inode blocks.

सुपरब्लॉक आयनोड ब्लॉक्सची संख्या निर्दिष्ट करते.


Each inode contains just three pieces of information about the file.

प्रत्येक आयनोडमध्ये फाईलविषयी फक्त तीन माहितीचे तुकडे असतात.


Free blocks are maintained in a simple linked list.

मोफत ब्लॉक्सची साधी लिंक्ड लिस्टमध्ये देखभाल केली जाते.


The file system implementation will use the actor model.

फाईल सिस्टीम अंमलबजावणी अभिनेता मॉडेल वापरेल.


The threads synchronize using a plain lock for the free list.

थ्रेड्स मोफत सूचीसाठी एक साध्या लॉकचा वापर करून समक्रमित होतात.


The file server itself is implemented as a multithreaded actor.

फाईल सर्व्हर स्वतः मल्टीथ्रेडेड अभिनेता म्हणून लागू केला जातो.


The worker threads will handle requests.

कामगार थ्रेड विनंत्या हाताळतील.


Imagine five philosopers sitting around a table, each with a plate of food in front of them and a fork between every two plates.

कल्पना करा की पाच तत्त्वज्ञानी एका टेबलाभोवती बसले आहेत, प्रत्येकाच्या समोर अन्नाची ताटं आहेत आणि प्रत्येक दोन ताटांच्या मध्ये एक काटा आहे.


Each philosopher requires two forks to eat.

प्रत्येक तत्त्वज्ञान्याला खाण्यासाठी दोन काट्यांची आवश्यकता आहे.


To start eating, a philosopher first picks up the fork on the left, then the fork on the right.

जेवण सुरू करण्यासाठी, तत्त्वज्ञानी प्रथम डावीकडील काटा उचलतो, नंतर उजवीकडील.


Each philosopher likes to take breaks from eating to think for a while.

प्रत्येक तत्त्वज्ञान्याला काही वेळ विचार करण्यासाठी जेवणातून ब्रेक घ्यायला आवडतो.


To do so, the philosopher puts down both forks.

असे करण्यासाठी, तत्त्वज्ञानी दोन्ही कांटे खाली ठेवतो.


Each philosopher repeats this procedure.

प्रत्येक तत्त्वज्ञानी ही प्रक्रिया पुन्हा करतो.


Dijkstra had them repeating this for ever, but for the purposes of this book, philosophers can—if they wish—leave the table when they are not using any forks.

डिक्स्ट्रानी त्यांना हे नेहमीच करण्यास सांगितले, पण या पुस्तकाच्या उद्देशासाठी, तत्त्वज्ञानी—इच्छित असल्यास—टेबल सोडून जाऊ शकतात जेव्हा ते कोणतेही कांटे वापरत नाहीत.


If you run it, Harmony complains that the execution may not be able to terminate, with all five threads being blocked trying to acquire the lock.

जर तुम्ही ते चालवले, तर हार्मनी तक्रार करेल की अंमलबजावणी समाप्त होऊ शकत नाही, सर्व पाच थ्रेड्स लॉक मिळवण्याचा प्रयत्न करत ब्लॉक झाले आहेत.


तुम्हाला समस्या काय आहे हे दिसत आहे का?


Does it depend on N, the number of philosophers?

ते N, म्हणजे तत्त्वज्ञान्यांच्या संख्येवर अवलंबून आहे का?


There are four conditions that must hold for deadlock to occur.

डेडलॉक होण्यासाठी चार अटी पूर्ण होणे आवश्यक आहे.


Mutual Exclusion: each resource can only be used by one thread at a time.

परस्पर अपवर्जन: प्रत्येक संसाधन एका वेळी फक्त एका थ्रेडद्वारे वापरले जाऊ शकते.


Hold and Wait: each thread holds resources it already allocated while it waits for other resources that it needs.

होल्ड आणि प्रतीक्षा: प्रत्येक थ्रेड आधीच वाटप केलेले संसाधने धारण करतो, तर तो आवश्यक असलेल्या इतर संसाधनांची प्रतीक्षा करतो.


No Preemption: resources cannot be forcibly taken away from threads that allocated them.

पूर्व-अधिकार नाही: संसाधने त्या थ्रेड्समधून जबरदस्तीने काढली जाऊ शकत नाहीत ज्यांनी ती वाटप केली आहेत.


Circular Wait: there exists a directed circular chain of threads, each waiting to allocate a resource held by the next.

वर्तुळाकार प्रतीक्षा: थ्रेड्सची निर्देशित वर्तुळाकार साखळी अस्तित्वात आहे, प्रत्येक पुढीलद्वारे आयोजित संसाधनाचे वाटप होण्याची प्रतीक्षा करत आहे.


Preventing deadlock thus means preventing that one of these conditions occurs.

म्हणून, डेडलॉक टाळण्याचा अर्थ यापैकी कोणतीही अट उद्भवू नये.


However, mutual exclusion is not easily prevented in general because many resources allow only one process to use it at a time.

परंतु, सामान्यतः परस्पर अपवर्जन सहजपणे टाळता येत नाही कारण बरीच संसाधने एका वेळी फक्त एका प्रक्रियेस वापरण्याची परवानगी देतात.


Havender proposed the following techniques that avoid the remaining three conditions.

हॅवेंडरने खालील तंत्रे सुचविली आहेत जी उर्वरित तीन अटी टाळतात.


No Hold and Wait: a thread must request all resources it is going to need at the same time.

होल्ड आणि प्रतीक्षा नाही: एका थ्रेडला एकाच वेळी आवश्यक असलेली सर्व संसाधने मागणे आवश्यक आहे.


Preemption: if a thread is denied a request for a resource, it must release all resources that it has already acquired and start over.

पूर्व-अधिकार: जर एखाद्या थ्रेडला संसाधनासाठी विनंती नाकारली गेली, तर त्याने आधीच मिळवलेली सर्व संसाधने सोडावी लागतील आणि नव्याने सुरुवात करावी लागेल.


T1 was trying to lockpool[0].lock while T3 was freeing that very same node, and T1 lost the race.

T1 लॉकpool[0].lock ला लॉक करण्याचा प्रयत्न करत होता, तर T3 त्याच नोड (node) ला मोकळे करत होता, आणि T1 शर्यतीत हरला.


Harmony allows you to step through an execution forwards and backwards.

Harmony तुम्हाला एक्झिक्यूशन (execution) पुढे आणि मागे तपासण्याची परवानगी देते.


प्रत्येक पद्धतीचा स्वतःचा रंग असतो.


T1 first calls put(?q, 1) and then allocates a new node initialized with a lock.

T1 प्रथम put(?q, 1)कॉल करतो आणि नंतर लॉकसह सुरू केलेला नवीन नोड (node) तयार करतो.


T1 then enters into the while loop and tries to acquire nq→lock.

T1 नंतर व्हाईल लूपमध्ये प्रवेश करतो आणि nq→lock मिळवण्याचा प्रयत्न करतो.


This is where the problem is—T1 is about to acquire the lock in that same node.

येथे समस्या आहे—T1 त्याच नोडमध्ये लॉक मिळवणार आहे.


To fix the code without changing the data structure, we can use hand-over-hand locking.

डेटा स्ट्रक्चर (data structure) न बदलता कोड (code) ठीक करण्यासाठी, आपण हँड-ओव्हर-हँड लॉकिंग वापरू शकतो.


Critical sections enable multiple threads to easily share data structures.

महत्वाचे विभाग अनेक थ्रेड्सना डेटा स्ट्रक्चर्स सहजपणे सामायिक करण्यास सक्षम करतात.


A thread that is waiting for a condition without changing shared variables is considered blocked.

सामायिक व्हेरिएबल्स (variables) न बदलता, एखाद्या स्थितीची वाट पाहणाऱ्या थ्रेडला ब्लॉक केलेले मानले जाते.


Sometimes it is useful for a thread to wait for additional conditions besides the critical section being unoccupied.

कधीकधी, थ्रेडसाठी (thread) महत्वाच्या विभागाशिवाय, इतर अटींची प्रतीक्षा करणे उपयुक्त ठरते.


What we want is a special kind of lock that allows either (i) one writer or (ii) one or more readers to acquire the lock.

आपल्याला ज्याची आवश्यकता आहे ते एका विशिष्ट प्रकारचे लॉक आहे जे (i) एक लेखक किंवा (ii) एक किंवा अधिक वाचकांना लॉक मिळवण्याची परवानगी देते.


A reader/writer lock is an object whose abstract state contains two integer counters.

रीडर/रायटर लॉक (reader/writer lock) हे एक ऑब्जेक्ट (object) आहे ज्याची अमूर्त स्थिती दोन पूर्णांक काउंटर्स (integer counters) मध्ये असते.


Similar to ordinary locks, a thread is restricted in how it is allowed to invoke these operations.

सामान्य लॉक्सप्रमाणेच, थ्रेडला (thread) या ऑपरेशन्सना (operations)कसे बोलावता येईल यावर मर्यादा आहे.


In some sense, the implementation is correct because it satisfies the invariant, but it is not a desirable implementation.

काही अर्थाने, अंमलबजावणी योग्य आहे कारण ती अपरिवर्तनीय (invariant) पूर्ण करते, परंतु ती एक चांगली अंमलबजावणी नाही.


The second command will print a warning that there are behaviors in the specification that are not achieved by the implementation.

दुसरा आदेश (command) एक चेतावणी (warning) देईल की तपशीलानुसार (specification) असे वर्तन (behavior) आहेत जे अंमलबजावणीद्वारे (implementation) साध्य होत नाहीत.


Harmony या सोल्यूशनबद्दल (solution) तक्रार करते.


If the buffer is full, an enqueuer must wait; if the buffer is empty, a dequeuer must wait.

जर बफर (buffer) भरलेला असेल, तर एन्क्यूअर (enqueuer)ने प्रतीक्षा करणे आवश्यक आहे; जर बफर रिकामा असेल, तर डिक्यूअर (dequeuer)ने प्रतीक्षा करणे आवश्यक आहे.


Coming up with a good implementation is known as the “Producer/Consumer Problem”.

एक चांगली अंमलबजावणी (implementation) शोधणे “उत्पादक/ग्राहक समस्या” म्हणून ओळखले जाते.


Threads may be arranged in pipelines, where each upstream thread is a producer and each downstream thread is a consumer.

थ्रेड्सना (threads) पाइपलाइनमध्ये (pipelines) व्यवस्थित केले जाऊ शकते, जिथे प्रत्येक अपस्ट्रीम थ्रेड (upstream thread) एक उत्पादक असतो आणि प्रत्येक डाउनस्ट्रीम थ्रेड (downstream thread) एक ग्राहक असतो.


Condition variables are a synchronization primitive designed to allow for general and efficient solutions to conditional waiting problems.

कंडिशन व्हेरिएबल्स (condition variables) हे सिंक्रोनाइझेशन (synchronization) आदिम आहेत जे सशर्त प्रतीक्षा समस्यांसाठी (conditional waiting problems) सामान्य आणि कार्यक्षम उपाययोजना करण्यास डिझाइन केलेले आहेत.


प्रणाली बूट होण्यात अयशस्वी झाली.


Please enter your username and password.

कृपया तुमचा वापरकर्तानाव आणि संकेतशब्द प्रविष्ट करा.


वृत्तानुसार मोठ्या भूकंपाची नोंद झाली.


आज मला खूप आनंद होत आहे.


The company announced a new product launch.

कंपनीने नवीन उत्पादन सुरू करण्याची घोषणा केली.


तुम्ही ते कृपया पुन्हा सांगू शकाल का?


The research team is working on a new vaccine.

संशोधन टीम नवीन लसीवर काम करत आहे.


The meeting will be held tomorrow at 2 PM.

उद्या दुपारी २ वाजता बैठक आयोजित केली जाईल.


The algorithm efficiently sorts the data.

अल्गोरिदम डेटाची कार्यक्षमतेने क्रमवारी लावतो.


The government is implementing new policies.

सरकार नवीन धोरणे लागू करत आहे.


आव्हानांवर मात करूनही, ते यशस्वी झाले.


आर्थिक अंदाजानुसार वाढ दर्शविली आहे.


सॉफ्टवेअरला वारंवार अद्यतनांची आवश्यकता आहे.


कलाकाराचे कार्य खूप प्रशंसनीय आहे.


The complex system requires careful analysis.

गुंतागुंतीच्या प्रणालीसाठी काळजीपूर्वक विश्लेषणाची आवश्यकता आहे.


The philosophical debate explored the nature of reality.

तत्त्वज्ञानाच्या वादविवादामध्ये वास्तवाच्या स्वरूपावर चर्चा झाली.


The implications of the decision are far-reaching.

या निर्णयाचे दूरगामी परिणाम आहेत.


The scientific community is investigating the anomaly.

वैज्ञानिक समुदाय या विसंगतीचा तपास करत आहे.


The historical context is crucial for understanding the events.

घडलेल्या घटना समजून घेण्यासाठी ऐतिहासिक संदर्भ महत्त्वाचा आहे.


The intricate design of the mechanism is fascinating.

यंत्रणेची गुंतागुंतीची रचना आकर्षक आहे.


The code implements a version of the Paxos protocol.

हा कोड पॅक्सोस प्रोटोकॉलची आवृत्ती अंमलात आणतो.


The leader then moves on to the second round.

मग नेता दुसऱ्या फेरीत जातो.


You should get a warning that our implementation of Paxos does not generate all possible behaviors.

तुम्हाला एक चेतावणी मिळायला हवी की पॅक्सोसची अंमलबजावणी सर्व संभाव्य वर्तन तयार करत नाही.


Perhaps the trickiest detail of the algorithm is that, in Line 37 of Figure 29.2, the leader selects the proposal with the highest ballot number it receives.

अल्गोरिदममधील सर्वात कठीण तपशील म्हणजे, आकृती 29.2 च्या ओळ 37 मध्ये, नेता सर्वात जास्त मत क्रमांक असलेली प्रस्ताव निवडतो.


Implement this version and, using Harmony, find the problem this causes.

ही आवृत्ती लागू करा आणि, Harmony वापरून, यामुळे काय समस्या येते ते शोधा.


The Needham-Schroeder protocol is a security protocol.

नीधम-श्रोडर प्रोटोकॉल एक सुरक्षा प्रोटोकॉल आहे.


ॲलिसला बॉबशी संवाद साधायचा आहे.


The three critical steps in the Needham-Schroeder protocol are as follows:

नीधम-श्रोडर प्रोटोकॉलमधील तीन महत्त्वपूर्ण पायऱ्या खालीलप्रमाणे आहेत:


Alice creates a new nonce NA and sends it to Bob.

ॲलिस एक नवीन नॉनस NA तयार करते आणि बॉबला पाठवते.


When Bob receives the message, he creates a new nonce NB and sends it to Alice.

जेव्हा बॉबला संदेश मिळतो, तेव्हा तो एक नवीन नॉनस NB तयार करतो आणि ॲलिसला पाठवतो.


ॲलिस बॉबला एक संदेश पाठवते.


The intended security properties of this protocol are symmetric.

या प्रोटोकॉलचे अपेक्षित सुरक्षा गुणधर्म सममितीय आहेत.


After the protocol, Alice can include NA in messages to Bob.

प्रोटोकॉलनंतर, ॲलिस बॉबला पाठवलेल्या संदेशात NA समाविष्ट करू शकते.


The code for Alice and Bob simply follows the steps listed above.

ॲलिस आणि बॉबसाठीचा कोड फक्त वर सूचीबद्ध केलेल्या चरणांचे अनुसरण करतो.


Model checking can be used to find the bug.

त्रुटी शोधण्यासाठी मॉडेल तपासणी वापरली जाऊ शकते.


We introduce a third party, which we will call Corey.

आम्ही एक तृतीय पक्ष सादर करतो, ज्याला आम्ही कोरी म्हणू.


कोरी ॲलिस किंवा बॉबचे रूप धारण करू शकत नाही.


हा हल्ला अशा प्रकारे होतो:


Alice creates a new nonce NA and sends it to Corey.

ॲलिस एक नवीन नॉनस NA तयार करते आणि कोरीला पाठवते.


प्रोटोकॉल कसा ठीक करायचा ते शोधा.


The Harmony program uses bytecode addresses.

हार्मनी प्रोग्राम बायटकोड पत्ते वापरते.


A method variable's address is output as ?@k.

एका पद्धतीच्या व्हेरिएबलचा पत्ता ?@k म्हणून दर्शविला जातो.


Harmony supports the shorthand p→v for the expression (!p).v.

हार्मनी (!p).v या अभिव्यक्तीसाठी संक्षिप्त रूप p→v वापरते.


संदर्भ थ्रेडची स्थिती कॅप्चर करतो.


The save expression returns a tuple (e, c).

सेव्ह अभिव्यक्ती (e, c) हे टपल परत करते.


A thread can be suspended using stop None.

थ्रेड स्टॉप नन वापरून निलंबित केला जाऊ शकतो.


हार्मनी विविध विधाने समर्थन करते.


x = 3 हे विधान स्थिती बदलते.


The statement x+= 3 loads x, adds 3, and stores the results.

x+= 3 हे विधान x लोड करते, 3 मिळवते आणि परिणाम साठवते.


The assert statement reports an error if b is false.

जर b असत्य असेल, तर assert विधान त्रुटी दर्शवते.


A statement can be preceded by the atomically keyword.

एका विधानापूर्वी atomically कीवर्ड वापरला जाऊ शकतो.


The expression const N = 3 introduces a new constant N.

const N = 3 ही अभिव्यक्ती नवीन स्थिरांक N सादर करते.


The statement def m a [returns r]: S defines a new bytecode address.

def m a [returns r]: S हे विधान नवीन बायटकोड पत्ता परिभाषित करते.


The statement del x removes variable x from the state.

del x हे विधान स्थितीमधून x व्हेरिएबल काढते.


The for...in... statement iterates over y.

for...in... विधान y वर पुनरावृत्ती करते.


The statement from x import a, b imports module x.

from x import a, b हे विधान x मॉड्यूल आयात करते.


The statement global v tells the compiler that the given variables are shared.

global v हे विधान कंपाइलरला सांगते की दिलेले व्हेरिएबल्स सामायिक आहेत.


go c हे विधान एक थ्रेड सुरू करते.


हार्मनी if विधानांना समर्थन देते.


You can introduce new bound variables using the let statement.

तुम्ही let विधान वापरून नवीन बाउंड व्हेरिएबल्स सादर करू शकता.


The program uses the malloc() function to allocate memory.

प्रोग्राम मेमरी वाटपण्यासाठी malloc() फंक्शन वापरतो.


The module provides methods for working with bags or multisets.

हे मॉड्यूल बॅग किंवा मल्टीसेटवर काम करण्यासाठी पद्धती पुरवते.


He is waiting for the train at the station.

तो स्टेशनवर गाडीची वाट पाहत आहे.


The company announced its quarterly earnings report.

कंपनीने तिच्या तिमाही कमाईचा अहवाल जाहीर केला.


कृपया सेटला लिस्टमध्ये रूपांतरित करा.


The government is implementing new policies.

सरकार नवीन धोरणे राबवत आहे.


The thread module implements the fork/join interface.

थ्रेड मॉड्यूल फोर्क/जॉइन इंटरफेस लागू करते.


The Harmony Virtual Machine has a specific state.

हार्मनी व्हर्च्युअल मशीनची एक विशिष्ट स्थिती आहे.


The compiler does not do much in the way of optimizations.

संकलक ऑप्टिमायझेशनच्या बाबतीत फारसे करत नाही.


The model checker explores the entire state space.

मॉडेल परीक्षक संपूर्ण स्थिती जागेचा शोध घेतो.


The output analysis is crucial for understanding the results.

परिणामांचे आकलन करण्यासाठी आउटपुट विश्लेषण महत्त्वपूर्ण आहे.


He went to the market to buy vegetables.

तो भाजीपाला खरेदी करण्यासाठी बाजारात गेला.


आज हवामान सुखद आहे.


ती वाचनालयात पुस्तक वाचत आहे.


The project requires careful planning and execution.

या प्रकल्पाला काळजीपूर्वक योजना आणि अंमलबजावणीची आवश्यकता आहे.


The algorithm's efficiency is a key consideration.

अल्गोरिदमची कार्यक्षमता एक महत्त्वाची बाब आहे.


हे फंक्शन उपसमुच्चयांचा संच परत करते.


The system provides support for Hoare-style monitors.

सिस्टम होरे-शैलीतील मॉनिटर्ससाठी समर्थन पुरवते.


The application uses a synchronized queue object.

ॲप्लिकेशन सिंक्रोनाइज्ड रांगेतील ऑब्जेक्ट वापरते.


The code doubles each element of data in parallel.

कोड डेटाच्या प्रत्येक घटकाला समांतरमध्ये दुप्पट करतो.


The Harmony compiler and model checker are powerful tools.

Harmony कंपाइलर आणि मॉडेल चेकर हे शक्तिशाली साधनं आहेत.


Harmony compiles Harmony into bytecode and then model checks the bytecode.

Harmony, Harmony ला बायटकोडमध्ये रूपांतरित करते आणि नंतर बायटकोडचे मॉडेल तपासते.


The result is analyzed for failing assertions and invariants.

निकाल अयशस्वी विधानं आणि अपरिवर्तनीय गोष्टींसाठी तपासला जातो.


There are three phases: compile, model check, and analysis.

यात तीन टप्पे आहेत: संकलन, मॉडेल तपासणी आणि विश्लेषण.


The Harmony file name extensions are as follows: .hny, .hvm, .hco, .hvb, .hfa.

Harmony फाईलच्या नावाचे विस्तार खालीलप्रमाणे आहेत: .hny, .hvm, .hco, .hvb, .hfa.


Harmony can also generate .tla, .htm, .gv, .png, and .tex files.

Harmony .tla, .htm, .gv, .png आणि .tex फाईल्स देखील तयार करू शकते.


By default, running “harmony x.hny’ will generate x.hvm, x.hco, x.hvb, x.png, and x.hvm files.

डीफॉल्टनुसार, ‘harmony x.hny’ चालवल्यास x.hvm, x.hco, x.hvb, x.png आणि x.hvm फाईल्स तयार होतील.


Various options can be used to change the behavior.

वर्तन बदलण्यासाठी विविध पर्याय वापरले जाऊ शकतात.


When importing a module using import x, harmony will try to find the corresponding .hny file.

import x वापरून मॉड्यूल आयात करताना, harmony संबंधित .hny फाइल शोधण्याचा प्रयत्न करेल.


The -ofilename.gv option specifies the name of the file where the graphviz (DOT) output should be stored.

-ofilename.gv पर्याय ग्राफविझ (DOT) आउटपुट साठवण्यासाठी फाईलचे नाव निर्दिष्ट करतो.


The -a option compiles only and lists machine code.

-a पर्याय फक्त संकलित करतो आणि मशीन कोडची सूची देतो.


Peterson’s Algorithm is a beautiful solution to the mutual exclusion problem.

पेटर्सनचा अल्गोरिदम हा म्युच्युअल एक्सक्लूजन समस्येचे सुंदर समाधान आहे.


A state is comprised of the values of the shared variables.

एका स्थितीत सामायिक व्हेरिएबल्सची मूल्ये असतात.


Harmony मधील पायऱ्या अणुस्वरुप (atomic) असतात.


We call a state reachable if it can be reached from the initial state.

जर कोणतीही स्थिती सुरुवातीच्या स्थितीपासून पोहोचता येत असेल, तर तिला 'reachable' म्हटले जाते.


An invariant of a program is a predicate that holds over all reachable states.

प्रोग्रामचा अपरिवर्तनीय घटक (invariant) म्हणजे एक विधान जे सर्व पोहोचण्याजोग्या स्थितीत लागू होते.


We want to show that exclusivity is an invariant because mutual exclusion means that all reachable states are exclusive.

आपण हे दर्शवू इच्छितो की अनन्य (exclusivity) एक अपरिवर्तनीय घटक आहे, कारण म्युच्युअल एक्सक्लूजनचा अर्थ असा आहे की सर्व पोहोचण्याजोग्या स्थित्या अनन्य आहेत.


One way to prove that a predicate is an invariant is through induction.

एखादे विधान अपरिवर्तनीय आहे हे सिद्ध करण्याचा एक मार्ग म्हणजे प्रवर्तन (induction) वापरणे.


An inductive invariant I is a predicate over states that satisfies certain conditions.

एक आगमनात्मक अपरिवर्तनीय I हे स्थितींवरील असे विधान आहे जे विशिष्ट अटी पूर्ण करते.


The Split Binary Semaphore (SBS) approach is a general technique for implementing conditional waiting.

विभाजित बायनरी सेमाफोर (SBS) दृष्टिकोन सशर्त प्रतीक्षा अंमलात आणण्याची एक सामान्य तंत्र आहे.


The code uses a bounded buffer to manage data flow between producers and consumers.

हा कोड उत्पादक आणि ग्राहक यांच्यातील डेटा प्रवाहाचे व्यवस्थापन करण्यासाठी मर्यादित बफर वापरतो.


Hoare monitors provide a mechanism for synchronization in concurrent programming.

होअर मॉनिटर एकाच वेळी चालणाऱ्या प्रोग्रामिंगमध्ये समक्रमण (synchronization) साठी एक यंत्रणा प्रदान करतात.


A bounded buffer prevents producers from overwhelming consumers.

मर्यादित बफर उत्पादकांना ग्राहकांना भारावून टाकण्यापासून प्रतिबंधित करते.


The program uses mutexes to ensure mutual exclusion.

परस्पर अपवर्जन (mutual exclusion) सुनिश्चित करण्यासाठी प्रोग्राम म्युटेक्सचा वापर करतो.


Understanding concurrency is crucial for building robust software.

मजबूत सॉफ्टवेअर तयार करण्यासाठी एकाच वेळी होणाऱ्या कार्याची (concurrency) समज आवश्यक आहे.


The concept of a critical section is fundamental to concurrent programming.

एकाच वेळी होणाऱ्या प्रोग्रामिंगसाठी गंभीर विभाग (critical section) ही संकल्पना मूलभूत आहे.


Deadlocks can occur when threads are waiting for each other to release resources.

जेव्हा थ्रेड्स एकमेकांना संसाधने सोडण्याची वाट पाहत असतात, तेव्हा डेडलॉक होऊ शकतात.


The producer/consumer problem is a classic example of a concurrency challenge.

उत्पादक/ग्राहक समस्या एकाच वेळी होणाऱ्या कार्यासाठी (concurrency) एक उत्कृष्ट उदाहरण आहे.


Spinlocks can lead to busy-waiting and reduced performance.

स्पिनलॉक व्यस्त-प्रतीक्षा (busy-waiting) आणि कमी कार्यक्षमतेस कारणीभूत ठरू शकतात.


The code demonstrates the use of semaphores for synchronization.

हा कोड समक्रमणासाठी (synchronization) सेमाफोरचा वापर दर्शवितो.


The Harmony language does not have built-in support for monitors.

Harmony भाषेत मॉनिटर्ससाठी अंगभूत समर्थन नाही.


A thread is a unit of execution within a process.

थ्रेड म्हणजे प्रक्रियेतील अंमलबजावणीचे एक एकक आहे.


The program uses a bounded buffer of size four.

प्रोग्राम चार आकाराचे मर्यादित बफर वापरतो.


The head and tail pointers are used to manage the buffer.

हेड आणि टेल पॉइंटर बफर व्यवस्थापित करण्यासाठी वापरले जातात.


The count variable keeps track of the number of items in the buffer.

काउंट व्हेरिएबल बफरमधील आयटमची संख्या ट्रॅक करते.


The get method retrieves an item from the buffer.

गेट पद्धत बफरमधून एक आयटम पुनर्प्राप्त करते.


The put method adds an item to the buffer.

पुट पद्धत बफरमध्ये एक आयटम जोडते.


The monitor uses a hidden split binary semaphore.

मॉनिटर एक लपलेले स्प्लिट बायनरी सेमाफोर वापरतो.


The mutex semaphore is acquired when entering a monitor.

मॉनिटरमध्ये प्रवेश करताना म्युटेक्स सेमाफोर मिळवला जातो.


Method wait increments the condition’s counter.

वेट पद्धत स्थितीचा काउंटर वाढवते.