เงื่อนไขการแข่งขันเกี่ยวข้องกับความพยายามของระบบหรืออุปกรณ์แต่ละชิ้นในการทำมัลติทาสก์ โดยทั่วไปสภาพการแย่งชิงจะเกิดขึ้นเมื่อระบบพยายามดำเนินการสองอย่างหรือมากกว่าพร้อมกัน แต่ไม่สามารถทำได้ สาเหตุของความล้มเหลวคือการดำเนินการไม่เรียงตามลำดับที่เหมาะสมสถานการณ์อาจทำให้ระบบปิดตัวลง
ในขณะที่อุปกรณ์ต่าง ๆ ได้รับการกำหนดค่าให้อนุญาตการทำงานหลายอย่าง แต่ก็ยังมีกระบวนการภายในที่สร้างลำดับชั้นของฟังก์ชั่น เพื่อให้การทำงานบางอย่างเกิดขึ้นต้องมีการทำงานอื่น ๆ ล่วงหน้า ในขณะที่ผู้ใช้ปลายทางรับรู้ว่าฟังก์ชั่นทั้งหมดอาจปรากฏขึ้นพร้อมกัน แต่ไม่จำเป็นต้องเป็นกรณีนี้
เงื่อนไขการแข่งขันจะถูกสร้างขึ้นเมื่อการปฏิบัติการสองอย่างหรือมากกว่านั้นกำลังแข่งขันกันเพื่อให้บรรลุผลสำเร็จก่อนการปฏิบัติการอื่น ๆ เมื่อทุกฟังก์ชั่นของแต่ละบุคคลมีการจัดอย่างเหมาะสมสิ่งนี้นำไปสู่การดำเนินการที่ประสบความสำเร็จของฟังก์ชั่นทั้งหมดในเวลาที่เหมาะสม อย่างไรก็ตามหากลำดับของการดำเนินการถูกโยนออกจากยอดคงเหลือสิ่งนี้จะสร้างคอขวด ในสถานการณ์ที่เลวร้ายยิ่งขึ้นสภาพการแข่งขันจะทำให้เป็นไปไม่ได้ที่ระบบจะพยายามดำเนินการฟังก์ชันทั้งหมดตามลำดับที่เกี่ยวข้องในปัจจุบัน เนื่องจากระบบอาจต้องประมวลผลฟังก์ชันที่ห้าในสายอักขระก่อนที่ฟังก์ชันแรกและฟังก์ชันที่สองจะเสร็จสมบูรณ์สตริงทั้งหมดจึงต้องถูกยกเลิกและสร้างใหม่ตามลำดับที่เหมาะสม
ตัวอย่างทั่วไปของสภาพการแข่งขันเกี่ยวข้องกับการประมวลผลข้อมูล หากระบบได้รับคำสั่งให้อ่านข้อมูลที่มีอยู่ในขณะที่เขียนข้อมูลใหม่สิ่งนี้อาจนำไปสู่ข้อขัดแย้งที่ทำให้ระบบปิดตัวลงในบางลักษณะ ระบบอาจแสดงข้อความแสดงข้อผิดพลาดบางประเภทหากจำนวนข้อมูลที่ประมวลผลอยู่ในสภาพที่ไม่เหมาะสมกับทรัพยากรที่มีอยู่หรือระบบอาจปิดตัวลง เมื่อสิ่งนี้เกิดขึ้นมักเป็นความคิดที่ดีในการรีบูตระบบและเริ่มลำดับใหม่อีกครั้ง หากจำนวนข้อมูลที่ประมวลผลมีจำนวนมากอาจเป็นการดีกว่าที่จะอนุญาตให้มีการรวบรวมข้อมูลใหม่ให้เสร็จก่อนที่จะพยายามอ่านข้อมูลใด ๆ ที่เก็บไว้ในปัจจุบัน
ระบบจำนวนมากหลีกเลี่ยงศักยภาพสำหรับสภาพการแข่งขันโดยการกำหนดลำดับความสำคัญในโปรโตคอลการดำเนินงาน ลำดับความสำคัญถูกสร้างขึ้นเพื่อให้ทำงานได้ดีภายในขีดความสามารถของระบบและจำกัดความสามารถของสภาพการแข่งขันในการพัฒนา


