{"id":8474,"date":"2025-02-10T08:32:29","date_gmt":"2025-02-10T08:32:29","guid":{"rendered":"https:\/\/howtogeek.blog\/cs\/?p=8474"},"modified":"2025-02-10T08:32:29","modified_gmt":"2025-02-10T08:32:29","slug":"resolution-for-error-no-yield-performed-721-0x2d1-follow-these-4-step-guide","status":"publish","type":"post","link":"https:\/\/howtogeek.blog\/cs\/resolution-for-error-no-yield-performed-721-0x2d1-follow-these-4-step-guide\/","title":{"rendered":"Rozli\u0161en\u00ed chyby Bez v\u00fdt\u011b\u017eku 721 (0x2D1): Postupujte podle t\u011bchto 4 krok\u016f"},"content":{"rendered":"<p>Probl\u00e9m <strong>ERROR_NO_YIELD_PERFORMED<\/strong> \u010dasto tr\u00e1p\u00ed v\u00fdvoj\u00e1\u0159e a naru\u0161uje tok spou\u0161t\u011bn\u00ed jejich k\u00f3du. Poj\u010fme se pono\u0159it do \u00fa\u010dinn\u00fdch strategi\u00ed pro odstra\u0148ov\u00e1n\u00ed a vy\u0159e\u0161en\u00ed t\u00e9to technick\u00e9 p\u0159ek\u00e1\u017eky. Pochopen\u00ed z\u00e1kladn\u00edch p\u0159\u00ed\u010din m\u016f\u017ee b\u00fdt z\u00e1sadn\u00ed pro zlep\u0161en\u00ed spr\u00e1vy vl\u00e1ken v C++ a zaji\u0161t\u011bn\u00ed hladk\u00e9ho v\u00fdvoje.<\/p>\n<h2 id=\"h-how-can-i-fix-error-no-yield-performed\">Jak opravit chybu ERROR_NO_YIELD_PERFORMED<\/h2>\n<h3 id=\"h-1-check-thread-priority\">1. Posouzen\u00ed a \u00faprava priority vl\u00e1kna<\/h3>\n<ul>\n<li>Za\u010dn\u011bte t\u00edm, \u017ee ve sv\u00e9 k\u00f3dov\u00e9 z\u00e1kladn\u011b zkontrolujete implementace spr\u00e1vy vl\u00e1ken.<\/li>\n<li>Pokud pou\u017e\u00edv\u00e1te Windows API, upravte prioritu vl\u00e1kna:<br \/>\n<blockquote>\n<p> <code><strong>SetThreadPriority(hThread, THREAD_PRIORITY_NORMAL);<\/strong><\/code><\/p>\n<\/blockquote>\n<\/li>\n<li>Ve sc\u00e9n\u00e1\u0159\u00edch, kde je nutn\u00e1 vy\u0161\u0161\u00ed odezva, zva\u017ete zv\u00fd\u0161en\u00ed priority:<br \/>\n<blockquote>\n<p> <code><strong>SetThreadPriority(hThread, THREAD_PRIORITY_ABOVE_NORMAL);<\/strong><\/code><\/p>\n<\/blockquote>\n<\/li>\n<li>V\u017edy zkontrolujte d\u016fsledky zm\u011bny priority vl\u00e1kna, proto\u017ee to m\u016f\u017ee ovlivnit v\u00fdkon jin\u00fdch proces\u016f.<\/li>\n<\/ul>\n<h3 id=\"h-2-avoid-using-unnecessary-sleep-calls\">2. Minimalizujte zbyte\u010dn\u00e1 vol\u00e1n\u00ed v re\u017eimu sp\u00e1nku<\/h3>\n<ul>\n<li>Otev\u0159ete hlavn\u00ed segment k\u00f3du.<\/li>\n<li>Vyhledejte instance <code><strong>Sleep(0);<\/strong><\/code>a nahra\u010fte je <strong>Sleep(1);<\/strong><\/li>\n<li>Implementujte <code><strong>SwitchToThread();<\/strong><\/code>uv\u00e1\u017eliv\u011b a ujist\u011bte se, \u017ee pou\u017e\u00edv\u00e1te z\u00e1lo\u017en\u00ed mechanismus n\u00e1sledovn\u011b:<br \/>\n<blockquote>\n<p> <code><strong>if (!SwitchToThread()) { Sleep(1); \/\/ Fallback if no threads are waiting }<\/strong><\/code><\/p>\n<\/blockquote>\n<\/li>\n<li>Po proveden\u00ed \u00faprav znovu zkompilujte aplikaci, abyste vyhodnotili vy\u0159e\u0161en\u00ed chyb.<\/li>\n<\/ul>\n<h3 id=\"h-3-verify-thread-availability\">3. Potvr\u010fte dostupnost vl\u00e1kna<\/h3>\n<ul>\n<li>Za\u010dn\u011bte kontrolou k\u00f3du, abyste mohli sledovat v\u0161echna pou\u017eit\u00ed vl\u00e1ken.<\/li>\n<li>Pokud pou\u017e\u00edv\u00e1te fond vl\u00e1ken C++, zkontrolujte, zda nep\u0159ekra\u010duje kapacitu:<br \/>\n<blockquote>\n<p> <code><strong>std::thread::hardware_concurrency();<\/strong><\/code><\/p>\n<\/blockquote>\n<\/li>\n<li>Experimentujte se zv\u00fd\u0161en\u00edm po\u010dtu dostupn\u00fdch vl\u00e1ken a vyhodno\u0165te, zda tato \u00faprava zm\u00edr\u0148uje probl\u00e9m.<\/li>\n<\/ul>\n<h3 id=\"h-4-other-tips-to-try\">4. Dal\u0161\u00ed n\u00e1vrhy \u0159e\u0161en\u00ed probl\u00e9m\u016f<\/h3>\n<ul>\n<li>Ujist\u011bte se, \u017ee v\u00e1\u0161 opera\u010dn\u00ed syst\u00e9m a ovlada\u010de jsou aktualizov\u00e1ny na nejnov\u011bj\u0161\u00ed verze.<\/li>\n<li>Analyzujte spot\u0159ebu zdroj\u016f prost\u0159ednictv\u00edm Spr\u00e1vce \u00faloh. Sn\u00ed\u017een\u00ed z\u00e1t\u011b\u017ee uzav\u0159en\u00edm nepot\u0159ebn\u00fdch aplikac\u00ed m\u016f\u017ee uvolnit \u017eivotn\u011b d\u016fle\u017eit\u00e9 zdroje.<\/li>\n<li>Vyu\u017eijte <strong>Process Explorer<\/strong> pro hloubkov\u00e9 posouzen\u00ed zaseknut\u00fdch nebo zablokovan\u00fdch vl\u00e1ken.<\/li>\n<li>Vyu\u017eijte <strong>n\u00e1stroj Windows Performance Analyzer<\/strong> k proveden\u00ed podrobn\u00e9ho sledov\u00e1n\u00ed a vyhodnocen\u00ed efektivity pl\u00e1nov\u00e1n\u00ed CPU.<\/li>\n<li>Zahr\u0148te <strong>GetLastError()<\/strong> k protokolov\u00e1n\u00ed probl\u00e9m\u016f a z\u00edsk\u00e1n\u00ed dal\u0161\u00edho kontextu v chybov\u00fdch hl\u00e1\u0161en\u00edch.<\/li>\n<\/ul>\n<p>D\u00e1vejte pozor na k\u00f3d <strong>ERROR_NO_YIELD_PERFORMED<\/strong>, \u010dasto indikovan\u00fd zpr\u00e1vou jako &#8216;721 (0x2D1) Bylo provedeno proveden\u00ed v\u00fdnosu a nebylo k dispozici \u017e\u00e1dn\u00e9 vl\u00e1kno ke spu\u0161t\u011bn\u00ed&#8217;.Okam\u017eit\u00e9 \u0159e\u0161en\u00ed t\u011bchto chyb je z\u00e1sadn\u00ed pro zv\u00fd\u0161en\u00ed v\u00fdkonu va\u0161\u00ed aplikace.<\/p>\n<h2>\u010casto kladen\u00e9 ot\u00e1zky<\/h2>\n<h3><strong>1. Co znamen\u00e1 ERROR_NO_YIELD_PERFORMED?<\/strong><\/h3>\n<p>Chyba <strong>ERROR_NO_YIELD_PERFORMED<\/strong> nastane, kdy\u017e vl\u00e1kno poskytlo spu\u0161t\u011bn\u00ed, ale nen\u00ed k dispozici \u017e\u00e1dn\u00e9 jin\u00e9 vl\u00e1kno ke spu\u0161t\u011bn\u00ed, co\u017e znamen\u00e1, \u017ee ve va\u0161\u00ed aplikaci mohou b\u00fdt probl\u00e9my se spr\u00e1vou prost\u0159edk\u016f.<\/p>\n<h3><strong>2. Jak m\u016f\u017ee priorita vl\u00e1ken ovlivnit v\u00fdkon m\u00e9 aplikace?<\/strong><\/h3>\n<p>Priorita vl\u00e1kna ovliv\u0148uje zp\u016fsob, jak\u00fdm opera\u010dn\u00ed syst\u00e9m p\u0159id\u011bluje prost\u0159edky mezi konkuren\u010dn\u00ed vl\u00e1kna.\u00daprava priorit vl\u00e1ken m\u016f\u017ee zlep\u0161it odezvu kritick\u00fdch proces\u016f, ale mus\u00ed b\u00fdt \u0159\u00edzena opatrn\u011b, aby nedoch\u00e1zelo k hladov\u011bn\u00ed vl\u00e1ken s ni\u017e\u0161\u00ed prioritou.<\/p>\n<h3><strong>3. Kdy bych m\u011bl pou\u017e\u00edt SwitchToThread() m\u00edsto Sleep()?<\/strong><\/h3>\n<p>Pou\u017eijte <strong>SwitchToThread()<\/strong>, kdy\u017e chcete dobrovoln\u011b poskytnout CPU jin\u00fdm vl\u00e1kn\u016fm, jejich\u017e spu\u0161t\u011bn\u00ed je napl\u00e1nov\u00e1no. Naproti tomu pou\u017eijte <strong>funkci Sleep()<\/strong>, kdy\u017e chcete pozastavit aktu\u00e1ln\u00ed vl\u00e1kno na ur\u010ditou dobu. Nepou\u017e\u00edvejte re\u017eim sp\u00e1nku (0), proto\u017ee m\u016f\u017ee v\u00e9st ke zbyte\u010dn\u00e9mu p\u0159ep\u00edn\u00e1n\u00ed kontextu.<\/p>\n<p><a class=\"xiaomi\" href=\"https:\/\/windowsreport.com\/error-no-yield-performed\/\" rel=\"noopener noreferrer nofollow\" target=\"_blank\">Zdroj a obr\u00e1zky<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Probl\u00e9m ERROR_NO_YIELD_PERFORMED \u010dasto tr\u00e1p\u00ed v\u00fdvoj\u00e1\u0159e a naru\u0161uje tok spou\u0161t\u011bn\u00ed jejich k\u00f3du. Poj\u010fme se pono\u0159it do \u00fa\u010dinn\u00fdch strategi\u00ed pro odstra\u0148ov\u00e1n\u00ed a vy\u0159e\u0161en\u00ed t\u00e9to technick\u00e9 p\u0159ek\u00e1\u017eky. Pochopen\u00ed z\u00e1kladn\u00edch p\u0159\u00ed\u010din m\u016f\u017ee b\u00fdt z\u00e1sadn\u00ed pro zlep\u0161en\u00ed spr\u00e1vy vl\u00e1ken v C++ a zaji\u0161t\u011bn\u00ed hladk\u00e9ho v\u00fdvoje. Jak opravit chybu ERROR_NO_YIELD_PERFORMED 1. Posouzen\u00ed a \u00faprava priority vl\u00e1kna Za\u010dn\u011bte t\u00edm, \u017ee ve sv\u00e9 [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[5],"class_list":["post-8474","post","type-post","status-publish","format-standard","hentry","category-how-to","tag-windows"],"acf":[],"_links":{"self":[{"href":"https:\/\/howtogeek.blog\/cs\/wp-json\/wp\/v2\/posts\/8474","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/howtogeek.blog\/cs\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/howtogeek.blog\/cs\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/howtogeek.blog\/cs\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/howtogeek.blog\/cs\/wp-json\/wp\/v2\/comments?post=8474"}],"version-history":[{"count":1,"href":"https:\/\/howtogeek.blog\/cs\/wp-json\/wp\/v2\/posts\/8474\/revisions"}],"predecessor-version":[{"id":8475,"href":"https:\/\/howtogeek.blog\/cs\/wp-json\/wp\/v2\/posts\/8474\/revisions\/8475"}],"wp:attachment":[{"href":"https:\/\/howtogeek.blog\/cs\/wp-json\/wp\/v2\/media?parent=8474"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/howtogeek.blog\/cs\/wp-json\/wp\/v2\/categories?post=8474"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/howtogeek.blog\/cs\/wp-json\/wp\/v2\/tags?post=8474"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}