A është bllokimi i lidhjes?
A është bllokimi i lidhjes?

Video: A është bllokimi i lidhjes?

Video: A është bllokimi i lidhjes?
Video: Sihri i bllokimit në martes. Hoxhë Nesim Demiri 2024, Nëntor
Anonim

lidh Eshte nje duke bllokuar telefononi si parazgjedhje, por mund ta bëni jo duke bllokuar duke kaluar për të futur flamurin SOCK_NONBLOCK. lidh () bllokon deri në përfundimin e shtrëngimit të duarve 3-kahëshe TCP. Shtrëngimi i duarve në anën e dëgjimit trajtohet nga grupi TCP/IP në kernel dhe përfundon pa njoftuar procesin e përdoruesit.

Në mënyrë të ngjashme, pyetet, çfarë është priza bllokuese dhe jo bllokuese?

Në duke bllokuar modaliteti, recv, dërgo, lidh (vetëm TCP) dhe prano (vetëm TCP) prizë Thirrjet API do bllokoj për një kohë të pacaktuar derisa të kryhet veprimi i kërkuar. Në jo - duke bllokuar mode, këto funksione kthehen menjëherë. zgjidhni do bllokoj deri në prizë eshte gati.

çfarë është një funksion bllokues? A funksion bllokues në thelb llogarit përgjithmonë. Kjo është ajo që do të thotë me duke bllokuar . Të tjera funksionet e bllokimit do të priste që IO të ndodhte. nje jo- duke bllokuar Sistemi IO do të thotë a funksionin fillon një veprim IO, pastaj shkon në punë, pastaj trajton rezultatin e veprimit IO kur të ndodhë.

Më pas, pyetja është, a pranohet bllokimi i prizës?

pranoj () bllokon telefonuesin derisa të jetë e pranishme një lidhje. Nëse nuk ka hapësirë për mesazhe në dispozicion në prizë për të mbajtur mesazhin që do të transmetohet, pastaj send() normalisht bllokon. Nëse nuk ka mesazhe të disponueshme në prizë , telefonata recv pret të arrijë një mesazh.

A është zgjedhur një bllok?

Nëse argumenti i skadimit tregon një objekt të tipit struct timeval anëtarët e të cilit janë 0, zgjidhni () nuk bllokoj . Nëse argumenti i afatit është NULL, zgjidhni () bllokon derisa një ngjarje shkakton kthimin e njërës prej maskave me një vlerë të vlefshme (jo zero).

Recommended: