C++ има ли многонишковост?
C++ има ли многонишковост?

Видео: C++ има ли многонишковост?

Видео: C++ има ли многонишковост?
Видео: Переменные. Способы объявления. Правила именования. C++ для начинающих. Урок #5. 2024, Може
Anonim

А многонишков програмата съдържа две или повече части, които мога изпълняват едновременно. Всяка част от такава програма е наречен а конец , и всеки конец определя отделен път на изпълнение. C++ прави не съдържа вградена поддръжка за многонишков приложения.

Впоследствие може да се запита и C++ еднонишков ли е?

Многонишковост в C++ Поддръжката на многонишковост беше въведена в C+11. C++ 11 премахна всичко това и ни даде std:: конец . В конец класовете и свързаните с тях функции са дефинирани в конец заглавен файл. std:: конец е конец клас, който представлява a единична нишка в C++.

Освен по-горе, Python е еднонишков или многонишков? Краткият отговор е да, те са единична резба . JRuby е многонишков и може да се изпълнява в tomcat като друг java код. ЯМР (по подразбиране рубин) и Python и двете имат GIL (Global Interpreter Lock) и са по този начин единична резба.

Също така въпросът е безопасна ли е нишката на картата на C++?

2 отговора. Стандартът C++11 гарантира, че достъпът до контейнерите по метода const е такъв безопасно от различни нишки (т.е. и двете използват const методи). Така че краткият отговор: вие сте безопасно , стига другият конец не се забърква директно с този конкретен запис в карта.

Могат ли няколко нишки да извикат една и съща функция?

Множество нишки, извикващи една и съща функция при същото време. Всеки извикване на функция има свой собствен частен набор от локални променливи и ще никога не пречи на другите нишки или друго обаждания от същата функция в повикване стека. Въпреки това, всички ресурси, които могат да бъдат споделени между нишки са потенциално опасни.