9. cvičení - Synchronizovaný vektor


Úkoly

  1. Naprogramujte synchronizovaný vektor fixní délky, kde bude možné nastavovat a číst různé složky současně z různých vláknen. Například vlákno 1 bude nastavovat pomocí setf první složku a současně bude vlákno 2 číst třetí složku toho samého vektoru pomoci aref.

  2. (Bodovaný) Naprogramujte funkci nmapv, který se chová jako mapcar ale používá k výpočtu k vláken a nevytváří nový vektor ale mění hodnoty původního. Jako argument bere vektor z předchozího úkolu a druhý argument je nepoviný a udává počet vláken použitých k výpočtu. Výchozí hodnotu nastavte podle vlastního uvážení. V rámci testů zkuste vymyslet náročnějsí mapovací funkci a ověřte jak počet vláken ovlivňuje čas výpočtu.