কোনও প্রোগ্রাম "থ্রেড নিরাপদ" প্রমাণ করা শক্ত। তবে, "ডেটা রেস" শব্দটিটি দৃ concrete় ও আনুষ্ঠানিকভাবে সংজ্ঞায়িত করা সম্ভব। এবং এটি নির্ধারণ করা সম্ভব যে কোনও প্রোগ্রামের নির্দিষ্ট রানের এক্সিকিউশন ট্রেসটি ট্রেসের আকারের সাথে সমানুপাতিক সময়ে ডেটা রেস করে বা না করে। এই ধরণের বিশ্লেষণটি কমপক্ষে 1988 এ ফিরে আসে: বার্টন পি। মিলার, জং-দেওক চোই, "সমান্তরাল প্রোগ্রামগুলির দক্ষ ডিবাগিংয়ের জন্য একটি প্রক্রিয়া", কনফ। অগ্রগতি। ল্যাঙ। Dsgn। এবং ইমপ্লিট। (PLDI-1988): 135-144 ।
একটি ফাঁসি কার্যকর করার পরে একটি ট্রেডের ইভেন্টের মধ্যে আংশিক অর্ডার হওয়ার আগে আমরা প্রথমে একটি সংঘটিত সংজ্ঞা প্রদান করি । দুটি ঘটনা দেওয়া হয়েছেএকটি এবং খ যে একই থ্রেড তখন ঘটে ক < বি অথবা খ < ক। (একই থ্রেডের ইভেন্টগুলি প্রোগ্রামিং ভাষার ক্রমগত শব্দার্থক দ্বারা প্রদত্ত মোট ক্রম গঠন করে)) সুসংগত ইভেন্টগুলি (এগুলি মিউটেক্স অর্জন এবং প্রকাশ হতে পারে, উদাহরণস্বরূপ), আংশিক ক্রমের আগে একটি অতিরিক্ত আন্ত-থ্রেড ঘটে। (যদি থ্রেডএস একটি মিটেক্স এবং পরে থ্রেড প্রকাশ করে টি সেই মুটেক্সটি অর্জন করে আমরা বলি যে মুক্তি পাওয়ার আগেই অর্জনের আগে ঘটে))
তারপরে দুটি ডেটা অ্যাক্সেস দেওয়া হয়েছে ( সিঙ্ক্রোনাইজেশন ভেরিয়েবল নয় এমন ভেরিয়েবলগুলিকে পড়া বা লেখার জন্য )একটি এবং খ যে একই মেমরি অবস্থান, কিন্তু বিভিন্ন থ্রেড এবং যেখানে হয় একটি অথবা খ একটি লিখন অপারেশন যা আমরা বলি যে এর মধ্যে একটি ডেটা-রেস রয়েছে একটি এবং খ যদি না হয় ক < বি না খ < ক।
সি ++ 11 মান একটি ভাল উদাহরণ। (অনলাইনে উপলভ্য খসড়া চশমাগুলিতে প্রাসঙ্গিক বিভাগটি 1.10।) সি ++ 11 সিঙ্ক্রোনাইজেশন অবজেক্টের (মিটেক্সেস এবং কোনও atomic<>
ধরণের সাথে ঘোষিত ভেরিয়েবল ) এবং অন্যান্য সমস্ত ডেটার মধ্যে পার্থক্য করে। সি ++ ১১ টি অনুমানে বলা হয়েছে যে প্রোগ্রামারটি বহুবিধ প্রোগ্রামের একটি ট্রেসটিতে ডেটা অ্যাক্সেস সম্পর্কে যুক্তি দেখাতে পারে যেমন যদি ডেটা অ্যাক্সেসগুলি সমস্ত ডেটা রেস মুক্ত থাকে তবে এটি ক্রমান্বয়ে সামঞ্জস্যপূর্ণ ছিল।
হেলগ্রিন্ড সরঞ্জাম (ভালগ্রিন্ডের অংশ) বিভিন্ন ধরণের বাণিজ্যিক সরঞ্জাম (যেমন, ইন্টেল ইন্সপেক্টর এক্স, এক্স।) ভিত্তিতে ডেটা-রেসড সনাক্তকরণের আগে এই ধরণের ঘটনাকে সম্পাদন করে modern অবজেক্ট। আমি মনে করি ডেটা-রেস সনাক্তকরণের জন্য ভেক্টর ক্লকগুলি ব্যবহারের এই কৌশলটি মিশিগেল রনসাইয়ের নেতৃত্ব দিয়েছিল; কোয়েন ডি বোসচেয়ার: "পুনরায় খেলুন: একটি সম্পূর্ণ সমন্বিত ব্যবহারিক রেকর্ড / রিপ্লে সিস্টেম", এসিএম ট্রান্স। Comput। Syst। 17 (2): 133-152, 1999 ।