Asynchroon (II) bijv.nw. (comp.sci.) – synchroon

 
13 maart 2010

Elk vak kent zijn eigen jargon. Van wiskundigen wordt wel gezegd dat ze gewone woorden uit de spreektaal pakken, er een eigen definitie voor bedenken, waarna het iets compleet anders betekent. Nou heb ik ooit wiskunde gestudeerd, en meestal kon ik tijdens mijn studie toch wel achterhalen op welke manier de wiskundige betekenis met de colloquiale betekenis samenhing. Nee, het zijn juist die gesjeesde computerjongens die het helemaal bont maken.

Ik bedoel het woord ‘asynchroon’, of zijn tegenhanger ‘synchroon’. In het dagelijks taalgebruik kennen we die uit woorden en uitdrukkingen als ‘synchroonzwemmen’, ‘horloges met elkaar synchroniseren’, ‘A moet synchroon lopen met B’, enz. Als twee dingen synchroon zijn, dan gebeuren ze op hetzelfde moment.

Dus ik was nogal geschokt toen ik tijdens mijn Eerste Echte Programmeerervaringen erachter kwam dat als je bij een Java-methode ‘synchronised’ zet, er op elk gegeven moment maar één enkele thread die methode mag uitvoeren. Twee threads die de methode aanroepen, zullen op elkaar moeten wachten en hem na elkaar uitvoeren. Hoezo ‘synchroon’? En in .Net heb je meerdere standaardmanieren om methoden asynchroon te laten uitvoeren. Wat dan weer betekent dat de huidige thread dingen kan doen terwijl een andere thread die methode uitvoert – tegelijkertijd.

…en nou weet ik dus niet of ik als wiskundige blij moet zijn of niet.


Werken met ?
Kijk dan bij onze mogelijkheden voor starters en/of ervaren IT'ers.


Categorieën: Development


Reactie

  • Ralf Wolter schreef:

    Volgens mij is het probleem hier dat jij verondersteld dat synchroon betekend gelijk met andere programmas en dat is mijns inziens hiet het geval.

    Synchroon refereert volgens mij naar de interne instuctie clock van de processor. In een synchroon programma lopen de programma instructies gelijk met de processor instructies. Bij asynchroon valt dit weg omdat andere programmas ook cycles “opsnoepen”.

    Of deze termen nog geldig zijn voor de huidige stucturen die gebruik maken van virtual machines en machines met meerdere processoren en cores is een ander verhaal.

    Geplaatst op 13 maart 2010 om 14:50 Permalink