Create_semaphore

SQL

FUNCTION Create_semaphore(IN sname CHAR(31); IN snum INT) RETURNS INT;

Parametry

sname jmΘno semaforu
snum pro kolik vlßken bude po vytvo°enφ otev°en

Od verze:

6.1

Popis

Procedura je urΦena v²hradn∞ k pou₧itφ v p°φkazech jazyka SQL.

Funkce vytvo°φ semafor oznaΦen² jmΘnem sname (pokud takov² semafor dosud neexistuje) a vrßtφ jeho handle, kter² se pou₧ije ve vÜech dalÜφch operacφch vlßkna s tφmto semaforem.

Pokud dv∞ vlßkna volajφ tuto funkci se stejn²m jmΘnem, pak obdr₧φ handle ke stejnΘmu semaforu - tyto handle vÜak nemusφ mφt nutn∞ stejnou hodnotu, proto ka₧dΘ vlßkno musφ pou₧φvat vlastnφ handle.

Vytvo°en² semafor bude otev°en pro vstup snum vlßken, co₧ znamenß, ₧e snum vlßken m∙₧e provΘst funkci Wait_for_semaphore bez Φekßnφ, zatφmco p°φpadnß dalÜφ vlßkna budou v tΘto funkci Φekat na provedenφ funkce Release_semaphore jin²m vlßknem. Jako hodnota snum se nejΦast∞ji pou₧φvß 0 (semafor uzav°en) nebo 1 (semafor otev°en pro jedno vlßkno). Hodnota snum se uplatnφ pouze u prvnφho vlßkna volajφcφho funkci Create_Semaphore s urΦit²m jmΘnem, pokud funkce vracφ handle k ji₧ existujφcφmu semaforu, hodnota snum se ignoruje.

Vφce o synchronizaci vlßken - podrobnosti.

Viz