Konkurrentzia (informatika)

Informatikan, konkurrentzia ataza ezberdinak aldi berean exekutatzen ari diren sistemek betetzen duten propietate bat da. Ataza hauek txip berean dauden kore ezberdinetan exekuta daitezke, fisikoki banatuta dauden prozesadore ezberdinetan edota prozesadore bakar baten barnean ere bai.

Baldintza 

Bi prozesu konkurrenteki exekutatzen ari direla esateko, hauetako baten lehenengo agindua egikaritu behar da bestearen lehenengo aginduaren ondoren eta azkenekoaren aurretik.

Sistema konkurrenteen ezaugarriak 

 Aginduen egikaritze-ordena: Prozesu ezberdinetako aginduak exekutatzeko ordena erlatiboa arbitrarioa da, baina prozesu bakoitzeko aginduak exekutatzeko
ordena mantentzen da
 Indeterminismoa: Sarrerako datu multzo berdinaren gainean egikaritzean, emaitza ezberdinak eman ditzake exekuzio diferenteetan
 Exekuzio-denbora: Abiadura arbitrarioa (denboraz ahaztu egiten gara)

Programa sekuentzialekiko ezberdintasunak 

Programa sekuentzial bat exekutatzerakoan, agindu multzo bat egikaritzen da bata bestearen atzetik, kontrol hari bakar bat erabiliz. Konkurrenteki egitean, aldiz, agindu sekuentzialez osatutako hainbat multzo, aldi berean exekutatzen dira, prozesu anitz sortuz, eta ondorioz, kontrol hari gehiago.

Konkurrentziaren alde onak 

 Prozesadore anitzekin paralelismoa lortzeko
 Aplikazioaren errendimendua handitzeko, adibidez, sarrera irteera deietan, hari bakarra blokeatzen dutenez, gainerakoek lanean jarrai dezakete.
 Aplikazioaren erantzun-gaitasuna handitzeko, erabiltzaileen eskaerentzat lehentasun handiko hari bat erabiliz, adibidez.
 Ingurunearekin elkarreragiten duten, ekintza anitz kontrolatzen dituzten eta gertaera anitz erabiltzen dituzten programetarako
 Kontrol-sistemak, web-teknologiak erabiltzaile-interfazeetan oinarritutako aplikazioak, simulazioa, DBKS,…

Kanpo estekak 

Programazio konkurrentea