Та уралдааны нөхцөлийг хэрхэн засах вэ?
Та уралдааны нөхцөлийг хэрхэн засах вэ?

Видео: Та уралдааны нөхцөлийг хэрхэн засах вэ?

Видео: Та уралдааны нөхцөлийг хэрхэн засах вэ?
Видео: Crown 200 - Хагарсан дугуйг нөөц дугуйгаар хэрхэн солих вэ? 2024, Дөрөвдүгээр сар
Anonim

хялбар арга засах "шалгаж, үйлдэл хийх" уралдааны нөхцөл Энэ нь синхрончлогдсон түлхүүр үг болон түгжээг хэрэгжүүлэх бөгөөд энэ нь энэ үйлдлийг атом шинж чанартай болгож, блок эсвэл аргыг зөвхөн нэг урсгалаар гүйцэтгэх ба үйлдлийн үр дүн нь синхрончлогдсон блокууд дууссан эсвэл урсгал хэлбэрээс гарсны дараа бүх урсгалд харагдах болно гэдгийг баталгаажуулдаг.

Үүний дагуу уралдааны нөхцлийг хэрхэн шийдэж байна вэ?

руу уралдааны нөхцөл байдлаас зайлсхийх Бидэнд харилцан үл хамаарах зүйл хэрэгтэй. Харилцан хамааралгүй болгох нь хэрэв нэг процесс хуваалцсан хувьсагч эсвэл файл ашиглаж байгаа бол бусад процессууд ижил зүйлийг хийхээс хасагдах болно гэдгийг баталгаажуулах арга юм.

Хоёрдугаарт, уралдааны нөхцөл байдал юунаас үүдэлтэй вэ? А уралдааны нөхцөл хэвийн бус зан үйл юм учруулсан үйл явдлын харьцангуй цаг хугацаанаас гэнэтийн хамааралтайгаар. Өөрөөр хэлбэл, програмист тодорхой үйл явдал үргэлж нөгөөгөөсөө өмнө тохиолдох болно гэж буруу таамаглаж байсан. Зарим нийтлэг зүйл шалтгаан болдог -ийн уралдааны нөхцөл дохио, хандалтыг шалгах, файл нээх зэрэг болно.

Үүний зэрэгцээ уралдааны нөхцөл байдал юу вэ?

А уралдааны нөхцөл Энэ нь зөвхөн тодорхой цаг хугацааны үед л тохиолддог нэг төрлийн алдаа юм нөхцөл . Жишээ : Танд А ба В гэсэн хоёр утас байна гэж төсөөлөөд үз дээ. Хэрэв тухайн объектыг шалгасны дараа А урсгалыг урьдчилан авсан бол. a null биш, B нь a = 0 хийх ба A thread процессорыг авах үед "тэгээр хуваах" үйлдлийг хийнэ.

C хэл дээрх уралдааны нөхцөл байдал юу вэ?

А уралдааны нөхцөл төхөөрөмж эсвэл систем нь хоёр ба түүнээс дээш үйлдлийг зэрэг гүйцэтгэхийг оролдох үед тохиолддог хүсээгүй нөхцөл байдал, гэхдээ тухайн төхөөрөмж, системийн шинж чанараас шалтгаалан үйлдлүүдийг зөв гүйцэтгэхийн тулд зохих дарааллаар гүйцэтгэх ёстой.

Зөвлөмж болгож буй: