2024 Автор: Elizabeth Oswald | [email protected]. Акыркы өзгөртүү: 2024-01-13 00:09
Көп агымдуу чөйрөдө HashMap колдонууда эмне туура эмес? … Бир HashMap инстанциясынашайкештештирилбестен бир нече жиптер кошулуп жатса, бул көйгөй. Болгону 1 жип HashMapды өзгөртүп жатса дагы жана башка жиптер ошол эле картадан синхрондоштуруусуз окуп жатса да, сизде көйгөйлөр пайда болот.
Сиз HashMapты көп агымдуу чөйрөдө колдоно аласызбы?
Сиз төмөнкүлөрдү текшеришиңиз керек: HashMap жаңыртууларынын баары жиптер жаралганга чейин бүтөт жана картаны түзгөн жип жиптерди айрыйт. Жиптер HashMap'ти окуу үчүн гана режиминде гана колдонуп жатышат – же алуу же алып салбастан итерация. Картаны жаңырткан темалар жок.
Эмне үчүн HashMap көп агымдуу чөйрөдө колдонулбашы керек, ал чексиз циклге алып келиши мүмкүнбү?
HashMap'тын демейки сыйымдуулугу 16 жана Жүктөө коэффициенти 0,75, бул картага 12-Ачкыч-Баалуу жуп киргенде HashMap сыйымдуулугун эки эсеге көбөйтөт (160,75=12). 2 жип HashMapга бир убакта кирүүгө аракет кылганда, анда сиз чексиз циклге туш болушуңуз мүмкүн. Жип 1 жана Жип 2 12-ачкыч-маани жуптарын коюуга аракет кылат.
HashMap алуу жип коопсузбу?
HashMap синхрондолгон эмес. Бул жип үчүн коопсуз эмес жана туура синхрондоштуруу коду жок көп жиптер арасында бөлүшүүгө болбойт, ал эми Hashtable шайкештештирилген.
Көп агымга эмне ылайыктууайлана-чөйрө?
Жооп: "ConcurrentHashMap"
Сунушталууда:
Эмне үчүн көп агымдуу программалоодо синхрондоштуруу керек?
Эгер кодуңуз көп агымдуу чөйрөдө аткарылып жатса, абалдын бузулушунан же кандайдыр бир түрдөгү бузукулуктун алдын алуу үчүн, бир нече жипте бөлүшүлгөн объекттер үчүн синхрондоштуруу керек. күтүлбөгөн жүрүм-турум. Java'да синхрондоштуруу жалпы объект өзгөрмөлүү болгондо гана керек болот.
Көп агымдуу программалар mcq деген эмне?
Түшүндүрүү: Көп агымдуу программалоо бир эле процесстин эки же андан көп бөлүктөрү бир убакта иштеген процесс. Көп агымдуу программалар деген эмне? Multithreading өзгөчө нускамалардын бирден ашык ырааттуу топтомунун (жипинин) бир убакта аткарылышын билдирет.
Эң достук колдоно алабызбы?
Сиз 'достук' жана 'эң достук' жана ошондой эле 'дагы/эң достук' колдоно аласыз. Мен америкалык эне тилчимин, ошондой эле ESL мугалимимин. Сиз эки форманы тең угасыз, анткени эки форма тең туура. Сиз жакшыраак же достукту айта аласыз. Эң достук деген чынбы?
Жавада корутиндерди колдоно алабызбы?
Бул суроого кыска жооп: Ооба. Бул макалада Apache 2.0 лицензиясы боюнча GitHub'да Open Source катары жеткиликтүү болгон корутиндердин таза Java ишке ашырылышы сунушталат. Корутиндерди жарыялоону жана аткарууну мүмкүн болушунча жөнөкөй кылуу үчүн ал Java 8ден бери жеткиликтүү функцияларды колдонот.
Синустар мыйзамын колдоно алабызбы?
Синустар мыйзамын эки бурчу жана бир капталы белгилүү болгондо үч бурчтуктун калган тараптарын эсептөө үчүн колдонсо болот - бул триангуляция деп аталган ыкма. Аны эки жагы жана жабык эмес бурчтарынын бири белгилүү болгондо да колдонсо болот.