Tak dneska bylo jako zadání Paralelní merge sort s GUI.
Náznak zadání:
pro nastavení gui se použije buď vvýchozí nastavení, nebo se dá upravit přepínači při startu aplikace
hodnoty nastavené přes parametry se dají přes GUI změnit - pomocí vhodných prvků (TextBox, CheckBox...)
pro každé vlákno se vytvoří textbox/label do kterého se zapíše jak dlouho dané vlákno třídilo, příp. i slévalo (zapisuje se z toho vytvořeného vlákna (Invoke) ) (pro měření bylo lepší použít System.Diagnostics.Stopwatch místo odečítání DateTime.Now, protože stopwatch dává výsledek v milisekundách)
pokud se na příkazové řádce zadají neplatné kombinace přepínačů, tak zobrazit nápovědu a skončit.
aplikace nesmí padat - ošetřit špatné vstupy zadané v GUI
vstupní soubor s nesetříděnou posloupností se vejde do paměti
pokud uživatel nezadá vstupní soubor, tak podle nastavení vygenerovat příslušnou posloupnost pro třídění
přepínače
-t x .. x = počet vláken (výchozí 1) -q .. použít v rámci vlákna quicksort místo mergesortu, který je výchozí -i file .. file = vstupní soubor s nesetřídenou posloupnosti -o file .. file = výstupní soubor pro vypsání setříděné posloupnosti -m x .. x = maximální velikost čísla (výchozí maxInt) -l x .. x= délka generované posloupnosti (výchozí 10000000) --bench .. speciální parametr, kde se použije výchozí nastavení a postupně se to pustí s 1 až 10 vlákny a vypiše jak dlouho každý běh trval
snad jsem to sepsal všechno