Tema: Re: SharedMemory sinchronizavimas
Autorius: trigras
Data: 2010-04-01 15:37:32
Teoriškai tau reikalingi Read-Write muteksai. Kaip delphyje su tuo 
dalyku tai neįsivaizduoju. Čia kažkos trolltech pasvaigimas - 
http://doc.trolltech.com/qq/qq11-mutex.html gal užves ant kelio


On 2010.04.01 15:17, Andrius Samuolis wrote:
>     Sveiki,
>
>     Dabartinis sprendimas yra veikiantis, tachiau iskilo klausimas, kaip
> sinchronizavima padaryti optimalesni. Zhodzhiu, situacija tokia: yra
> programa-serveris ir>10 programu-klientu, veikianchiu tame pachiame kompe
> (naudojama Windows OS). Visi jie naudoja bendra masyva (duomenu struktura),
> patalpinta i SharedMemory, be to, klientu kiekis nera fiksuotas ir, laikui
> begant, gali kisti. Serveris duomenis i masyva gali rashyti ir skaityti, o
> klientai - tik skaityti. Kad klientai nenuskaitytu klaidingu duomenu tuo
> metu, kai serveris juos modifikuoja, butina organizuoti sinchronizavima.
>     Dabar apie esama sinchronizavimo realizacija ir kas man joje nepatinka.
> Shiuo metu sinchronizavimui yra naudojamas mutex'as - kai kuri nors viena
> programa gauna mutex'a, ji turi priejima prie duomenu, o priejimas kitoms
> programoms (tiek serveriui, tiek klientams) yra uzhdraustas, kol nebus
> atlaisvintas mutex'as. Kaip minejau, shis sprendimas veikia pakenchiamai,
> tachiau man nepatinka tai, kad klientai tik po viena gali prieiti prie
> duomenu. Kadangi klientai neatlieka duomenu rashymo, nera reikalo riboti
> priejimo kitiems klientams, kai vienas ish klientu jau turi priejima prie
> duomenu. Be to, labai noretusi, kad serveris turetu tam tikra prioriteta
> priesh klientus, nes dabartiniame sprendime, esant didesniam klientu
> kiekiui, labai ishauga tikimybe, kad serveris nesulauks progos pateikti
> duomenis (nesulauks tokio momento, kad nei vienas ish klientu neturetu
> priejimo prie duomenu). Ish tiesu, shioje sistemoje nieko ypatingai
> tragishko neivyksta, jei tam tikra duomenu porcija yra "prazhiopsoma",
> tachiau reikia, kad tokiu situaciju susidarytu kuo mazhiau. Del to ir
> norechiau tobulinti shi sinchronizavimo mechanizma.
>     Shis projektas yra vystomas su Delphi, tachiau tema patalpinu bendroje
> shakoje, nes man nera reikalingas tikslus sprendimo kodas, o tik pati ideja,
> kaip geriau suorganizuoti sinchronizavima. O ideja daugiau priklauso nuo
> naudojamos operacines sistemos (naudojamos Windows API funkcijos), nei nuo
> programavimo kalbos, kuria vystomas projektas. Pats svarschiau galimybes
> naudoti kitas sinchronizavimo priemones (Semaphore'us, InterlockedIncrement,
> InterlockedDecrement), tachiau gero sprendimo dar nesugalvojau, todel
> kviechiu pasidalinti savo mintimis.
>
>
>    


3Dastronomyagricultureaudioautosautos.audiautos.audioautos.binariesautos.bmwautos.clubautos.fordautos.hondacrxautos.japanautos.mercedesautos.opelautos.sportautos.volvoautos.vwaviaavia.binariesbankcardsbinariesbooksbuildingcinemacommercecomp.hardwarecomp.softwarecomp.lietuvinimascomp.networksculturedarbas.ieskaudarbas.siulaudesigneconomicselectronicsfaunafauna.aquafauna.binariesfishingflorafotofoto.binariesgamesgames.csgames.onlinegsmgurmanaihumourhumour.binariesinternetlawmicrosoftmotomusicmusic.binariesmusic.instrumentsmusic.LT.binariesnavigacijaphppoliticsprogrammingrpgsportstudyingsveikatatalktesttranslationtransportationtraveltravel.binariestvunixvideovideo.binarieswatersportswwwwww.flashpdaautos.supermama.ltmobiledarbasretro.3Dretro.agricultureretro.astronomyretro.audioretro.autosretro.autos.audiretro.autos.audioretro.autos.binariesretro.autos.bmwretro.autos.clubretro.autos.fordretro.autos.hondacrxretro.autos.japanretro.autos.mercedesretro.autos.opelretro.autos.sportretro.autos.supermamaretro.autos.supermama.ltretro.autos.volvoretro.autos.vwretro.aviaretro.avia.binariesretro.bankcardsretro.beosretro.binariesretro.booksretro.buildingretro.cinemaretro.commerceretro.compretro.comp.hardwareretro.comp.lietuvinimasretro.comp.networksretro.comp.softwareretro.cultureretro.darbasretro.darbas.ieskauretro.darbas.siulauretro.designretro.economicsretro.electronicsretro.e-vejasretro.faunaretro.fauna.aquaretro.fauna.binariesretro.fishingretro.floraretro.fotoretro.foto.binariesretro.gamesretro.games.csretro.games.onlineretro.games.rpgretro.genealogijaretro.gsmretro.gurmanairetro.humourretro.humour.binariesretro.internetretro.YZFretro.YZF.nebukretro.YZF.nebuk.netikintisretro.YZF.nebuk.netikintis.bukretro.YZF.nebuk.netikintis.buk.tikintisretro.lawretro.microsoftretro.mobileretro.motoretro.musicretro.music.binariesretro.music.instrumentsretro.music.LTretro.music.LT.binariesretro.navigacijaretro.newsretro.news.taisyklesretro.newuserretro.pdaretro.phpretro.politicsretro.programmingretro.rpgretro.sportretro.studyingretro.sveikataretro.talkretro.translationretro.transportationretro.travelretro.travel.binariesretro.tvretro.unixretro.videoretro.video.binariesretro.watersportsretro.wwwretro.www.flashdiylt.rkm.news.announcelt.rkm.news.newuser