Archívum

Archive for 2008. április

.NET – lock

2008. április 20. vasárnap Hozzászólások kikapcsolva

Az elmúlt héten a .NET szálkezelése kapcsán foglalkoztam picit a lock utasítással. Közismert, hogy az egymással versenyző szálak ugyanazon erőforráshoz való egyidejű hozzáférését valahogy meg kell akadályozni. Másképp mondva a folyamatot szálbiztossá (thread-safe) kell tenni akkor, amikor kritikus műveletet hajt végre. Elvégre egyidőben, pl. ugyanazt az objektumt (erőforrást) két különböző szálból tilos manipulálni, mert inkonzsztenciához vezethet.

Eme probléma egyik kivédési lehetősége a lock utasítás. Ebben még semmi különös nem lenne, de vajon tudja-e mindenki azt, hogy a lock mögött milyen másik .NET osztály működik? Talán igen, talán nem. Nézzük…

SajatOsztaly obj;

lock(obj)                 // Belép a kritikus területre
{
  obj.CsinaljValamit();
}                         // Elhagyja a kritikus területet

A fenti lock hatására a SajatOsztaly obj példányának CsinaljValamit() metódushívása az adott szálon belül biztonságosan elvégezhető, hiszen abban az utasításblokkban védve van más szálak hozzáférése elől. Ez eddig nyilvánvaló. Az érdekesség inkább az, hogy a lock tulajdonképpen csak a fordítóprogram egy könnyítése azért, hogy a programozó kényelmesebben haladjon. Valójában a háttérben a .NET Monitor osztálya működik (a Monitor osztály a többi WaitHandle, Mutex, Semaphore, Interlocked, stb. szálaknál alkalmazható szinkronizáló osztályok közül az egyik).

SajatOsztaly obj;

Monior.Enter(obj);       // Belép a kritikus területre
try
{
  obj.CsinaljValamit();
}
finally
{
  Monitor.Exit(obj);     // Elhagyja a kritikus területet
}

A fenti Monitor osztály statikus metódusainak a hivása a try…finally kivételkezeléssel együtt ugyanaz, mint a korábban látot lock. Valójában a fordítóprogram a lock utasításból ilyen Monitor hívásokat generál. Hmm. Jó mi? Hát… nem is tudom. Remélem érthető volt, amit írtam.

Kategóriák:Development

“Windows 7” kérdések és válaszok

2008. április 15. kedd Hozzászólások kikapcsolva
Sajnos nem tudom mennyire hiteles az a webhely, ahol egyébként egy érdekes írás jelent meg a Windows jövőjéről. Mindegy, egy olvasást biztos megér.
Kategóriák:News and politics

Kritika

2008. április 15. kedd Hozzászólások kikapcsolva
Az egyik olvasóm erős kritikával illette az április 4-én általam elkövetett "Az EU szívózik a Microsofttal" című jegyzetemet, holott az legfeljebb egy ézelemmel túlfűtött vélemény volt. No, de… emberek? Ez itt az én webnaplóm, vagy nem? Nahát. Nem az a célom, hogy egyetértésre leljek, hanem az, hogy leírjam, amit gondolok és úgy, ahogy gondolom. Én már csak egy ilyen érzelemmel túlfűtött emberke vagyok.
 
A tisztesség egyébként azt kívánja, hogy mivel rám nézve nem volt túl hízelgő az említett vélemény, így azt – talán pont emiatt – változtatás nélkül közzé tegyem (a véleményező nevét elhagyva). Természetesen nem kívánok vitába szállni az illetővel, mert attól se jobb, se rosszabb nem lesz a helyzet. Ő így gondolja, én meg úgy. 
 
"Ne haragudj, de nem tudom megállni: Nagyon ízléstelenül fröcskölsz…
Az OpenXML-nek nem az a baja, hogy Microsoft, hanem pl, hogy tartalmaz jelenleg is licenszdíj köteles megoldásokat…
A Microsoft egyébként egy rahedli jó dolgot tett le az asztalra. Rengeteg előremutató dolgot készítenek (pl TFS). Nem is ez a baj vele…
Leírok egy érdekességet (ez egy példatörténet ahhoz, amit mondani szeretnék):
A mai QWERTY billentyűzetnek azért pont ilyen a kiosztása, mert annó az írógépnek ilyen volt (és ehhez szoktak az emberek). Az írógépnek nem véletlenül lett QWERTY kiosztása. az első írógépeknek még ABC kiosztása volt, csak azon piszok gyorsan lehetet gépelni (gyorsabban, mint a QWERTY-n), ezért a kis betű-kalapácsok összeakadtak. Statisztikailag megvizsgálva a betűpárok gyakoriságát állították össze a QWERTY billentyűt. ennek az a tulajdonsága, hogy lassan lehet rajta gépelni! :) Ez így maradt az elektronikus korszakban is, egyszerűen mert az emberek hozzászoktak… (Létezik egyébként DVORAK billentyűzet, ami optimális ilyen szempontból, csak nem terjedt el).
Szóval 97%? :) Nem biztos, hogy azért mert az a legjobb… (Persze lehetséges ez a verzió is)… Igazából az, hogy 97% ezt használja, nem érv…"
 
Szóval nem haragszom. Nem biz’a. Az ízlésen meg lehet vitatkozni. Van, aki szereti a kannásbort és van, aki nem. Pont ez a szép az emberekben. Jelenleg úgy vélem ízléstelenségért épphogy a Unix/Linux hívők weblapjaira, az EU-bürokraták háza tájékára, és az IBM vagy az általam citált írásban említett illetékesek környékére kell elbaktatni. Hozzájuk képest én senki és semmi vagyok. Leírtam miért, és ez a véleményem nem változott.
 
Köszönöm a figyelmet.
 
Ui.: A tömeges hozászólások továbbra se lesznek engedélyezve ezen a webhelyen. Ha valaki akar így vagy úgy, de megtalálja a módját annak, hogyan vigyen be egy sallert nekem. Sőt, még segítek is ebben. Ide kell lőni: putabout@t-online.hu 
Kategóriák:News and politics

Többszörös öröklődés C#-ban?

2008. április 6. vasárnap Hozzászólások kikapcsolva
Na nem kell még örvendezni, nem a Microsoft gondolta meg magát (pedig jó lenne), hanem egy "Smart K8" nevű valaki tette közzé az ötletét a The Code Projekt portálon. Mondanom se kell, Generic nélkül mindez nem volna lehetséges. Van még pár korlát, meg kényelmetlenség ami ugye kétségessé teszi, hogy egyáltalán érdemes-e használni, de ettől függetlenül izgalmas csemege.
 
Itt a végeredmény:
static void Main()
    {
        Musician bono = new Musician();
        bono.Use<Worker>().Name = "Bono";
        bono.Use<Person>().Name = "Paul David Hewson";
        bono.Use<Person>().Age = 47;
       
        if (bono.Is<Musician>()) Console.WriteLine("{0} is musician.", bono.Use<Worker>().Name);
        
        if (bono.Check<Person>()) Console.WriteLine("His age is {0}", bono.Use<Person>().Age);
    }   
Részletek (újabb kódokkal együtt) itt.
Kategóriák:Development

Solaris Labs

2008. április 4. péntek Hozzászólások kikapcsolva
Ez a Solaris nem az a Solaris, hanem egy csapat, aki bemutatott egy .NET Windows Presentation Foundation-ben (WPF-ben) készített demót. A fickó (ahogy én láttam) hozzá se ér a képernyőhöz, csak úgy lazán gesztikulál előtte. Hmm. Pont mint a filmben.
Kategóriák:News and politics

Az EU szívózik a Microsofttal

2008. április 4. péntek Hozzászólások kikapcsolva
Látom megtalálta az EU az újabb Casus belli-t. Arra lennék kíváncsi, hogy ezek a finnyás brüsszeli bürkrata urak mikor kezdenek el vizsgálódni a Henkel, Procter & Gamble vagy Nestle háza tájékán? Soha. Pedig lenne mit kapirgálni arrafelé is bőséggel, de nem… Mindegy.
 
Érdekes, hogy épp az Open XML ellentábor legnagyobb szekértolói mószerolják, sérelmezik a Microsoft meglehetősen agresszív, világszerte tapasztalt, de egyébként teljesen érthető lobbitevékenységét meg manipulációs technikáját, holott maguk is efféléket alkalmaznak dögivel. Sunyi szentfazekak, akik nyakló nélkül vedelik a kannásbort, miközben a külvilág felé vizet prédikálnak. Az erős érdekérvényesítést meg az agresszív piaci politikát elfogadhatónak és normálisnak tartom, azt viszont marhára nem bírom, amikor folyton kettős mércét alkalmaznak. Márpedig ez az.
 
IT café hírek:
 
"Próbálta-e törvénytelenül befolyásolni az OOXML-szavazást a szoftvercég? – ezt vizsgálja Brüsszel. Pedig lehet, hogy inkább a szabványosítási folyamatot kellene megreformálni.
[…]
A rivális formátum, a már ISO-szabvány OpenDocument mögött álló szervezetek és vállalatok szerint a Microsoft a saját embereit ültette a bizottságokba, hogy biztosítsa a számára kedvező szavazatot.
[…]
Ami pedig a vádakat illeti, Robertson szerint az IBM és a többi rivális pontosan azt tette, amivel most a Microsoftot vádolják: saját partnereit ültette be a nemzeti bizottságokba. Dániában például – hozott példát – a Google egyik alkalmazottja három nappal a szavazás előtt kérte felvételét a szabványügyi szervezetbe.
[…]
Lapunk egyébként úgy tudja: itthon nem a Microsoft, hanem az ellenérdekelt IBM kezdte a „ki tud több partnert behozni” játékot, amely egyébként – mivel a határozatképességhez 50 százalékos részvétel szükséges – azóta ellehetetlenítette a bizottság munkáját."
 
Ja, hogy mi van a szabvány úgymond technikai, technológiai kérdéseivel, problémáival? Ugyanmár emberek! Elhiszi bárki is, hogy majd az a sok szandálos, kinyűtt pulóverben grasszáló szemüveges okostojás műszaki szaki mondja meg a frankót? Nevetséges. Elhiszi valaki, hogy majd egy-két jóérzésű ország bojkottálni fogja az olimpiát csak azért, mert néhány szerencsétlen tibeti szabadságharcost lemészároltak a kínaiak odaát a Mennyei Béke terén? Ugyanmár skacok! Sose lesz ilyen a világ. Bármilyen szabványügyi testületben a legerősebb érdekérvényesítő (vagy azok csoportja), illetve a pénz a döntő. Eddig is így volt, ezután is így lesz. Nyafogni persze lehet, csak minek. Legyünk inkább realisták, az sokkal jobban áll majd nekünk.
 
Részletek itt.
Kategóriák:News and politics

ISO-szabvány lett a Microsoft Open XML

2008. április 2. szerda Hozzászólások kikapcsolva
Keservesen, de megszületett hát a döntés.
 
"Az International Standards Organization elfogadta szabványként a Microsoft Office Open XML dokumentumformátumot — olvasható az Ecma International weboldalán. A szavazáson elsöprő többségben voltak a támogatók, a résztvevő országok háromnegyede szavazott igennel és csak 14 százalék volt a nem szavazatok aránya, köztük olyan országokkal mint Brazília, Kína és Kanada. Az ISO hivatalosan ma jelenti be az OOXML szabvánnyá emelését ISO/IEC DIS 29500 néven."
 
Részletek (magyarul) itt.
Részletek (angolul) itt.
A HP véleménye (angolul) itt.
Kategóriák:News and politics