Keskustelu:Synkronointi (ohjelmointi)

Wikipediasta
Siirry navigaatioon Siirry hakuun

Sivun sisällöstä

[muokkaa wikitekstiä]

Tämä sivu synkronoinnista ei kuvaa sitä, mitä sen otsikossa on. Sivulla sotketaan käsitteet poissulkeminen, atomisuus, krittinen alue ja synkronointi tarkoittaamaan yhtä ja samaa asiaa. Näin ei ole ohjelmoinnissa. Lähteet ovat hyvin matalalta tasolta ja niiden yleistäminen korkeamman tason käsitteiksi ei toimi oikein.

Korvasin tämän omalla kirjoituksellani, joka nyt on siirretty nimelle synkronointi. Se ei muuta sitä, että tällä sivulla käsitteet on sekoitettu toisiinsa ja sivu antaa väärää kuvan asioista. Hannumatti (keskustelu) 2. maaliskuuta 2017 kello 09.48 (EET)[vastaa]

Ehkä et ole perehtynyt aiheeseen riittävästi? Yleisesti ohjelmoinnissa puhutaan synkronointiprimitiiveistä käsittämään sekä poissulkeminen, kriittiset alueet että lukitusmekanismit. Katso esim. [1]. Ilmeisesti luulet että poissulkeminen on yleiskattava termi, jota se ei ole, vaan tarkoittaa tiettyä synkronointimekanismia. Ipr1 (keskustelu) 2. maaliskuuta 2017 kello 10.41 (EET)[vastaa]
Antaa tulla lähteitä: omassa kuplassa eläminen ei ole todiste reaalimaailman käsitteistä. Ipr1 (keskustelu) 2. maaliskuuta 2017 kello 10.48 (EET)[vastaa]
Vilkaisin tänään kahden kirjoittajan käyttöjärjestelmäkirjoja: Tanenbaum ja Stallings. Kumpikin on kirjoittanut useita käyttöjärjestelmäkirjoja. Tanenbaum käyttää kirjoissaan ilmausta prosessien välienen kommunikointi tarkoittamaan niin poissulkemista kuin synkrointiakin, ja Stallings kirjoittaa poissulkemisesta ja synkronoinnista pitäen niitä siis rinnakkaisina termeinä, ei toistensa yläkäsitteinä. Lisäksi katsoin hyllystä paria muutakin kirjaa. M. Ben-Ari kirjassa "Principles of concurrent and distributed programming" nostaa kriittisen alueen päätermiksi (joka on sikäli järkevää, että poissulkeminen on tarpeen vain, jos on olemassa kriittisiä alueita), ja sivuaa synkronointia vain hieman. Gadi Taubenfeldin kirjan "Syncronization Algorithms and Concurrent Programming" johdannossa synkronoinnilla ja poissulkemisella on omat alilukunsa. Johdantoa seuraa kaksi lukua, joiden otsikkossa on poissulkeminen, ja näitä seuraa kaksi lukua, joissa otsikoissa on synkronointi. Hannumatti (keskustelu) 2. maaliskuuta 2017 kello 23.26 (EET)[vastaa]
Jos joku tähän törmää myöhemmin, akateemisissa ja teoreettisissa yhteyksissä samoilla termeillä voidaan tarkoittaa abstrakteja käsitteitä. Kun algoritmeja toteutetaan ja niitä käytetään voidaan tarkoittaa eri asioita. Tämän artikkelin konteksi on käytännössä ohjelmointi (algoritmin toteuttaminen käytännössä), teoreettisen keskustelun voi käsitellä toisaalla (siihen on riittävästi muita mahdollisuuksia). Eli tässä on nimenomaan tarkoitus käsitellä asioita yksityiskohtaisella ja matalalla tasolla, juuri sillä tasolla mistä on kritisoitu: tässä ei ole tarkoituskaan käsitellä "kiertoradalta". Ipr1 (keskustelu) 8. kesäkuuta 2022 kello 08.07 (EEST)[vastaa]