Deprecated: Creation of dynamic property ACF::$fields is deprecated in D:\inetpub\wwwroot\blog.skoleni-ict.cz\wp-content\plugins\advanced-custom-fields\includes\fields.php on line 136

Deprecated: Creation of dynamic property acf_loop::$loops is deprecated in D:\inetpub\wwwroot\blog.skoleni-ict.cz\wp-content\plugins\advanced-custom-fields\includes\loop.php on line 26

Deprecated: Creation of dynamic property ACF::$loop is deprecated in D:\inetpub\wwwroot\blog.skoleni-ict.cz\wp-content\plugins\advanced-custom-fields\includes\loop.php on line 270

Deprecated: Creation of dynamic property ACF::$revisions is deprecated in D:\inetpub\wwwroot\blog.skoleni-ict.cz\wp-content\plugins\advanced-custom-fields\includes\revisions.php on line 413

Deprecated: Creation of dynamic property acf_validation::$errors is deprecated in D:\inetpub\wwwroot\blog.skoleni-ict.cz\wp-content\plugins\advanced-custom-fields\includes\validation.php on line 26

Deprecated: Creation of dynamic property ACF::$validation is deprecated in D:\inetpub\wwwroot\blog.skoleni-ict.cz\wp-content\plugins\advanced-custom-fields\includes\validation.php on line 212

Deprecated: Creation of dynamic property acf_form_customizer::$preview_values is deprecated in D:\inetpub\wwwroot\blog.skoleni-ict.cz\wp-content\plugins\advanced-custom-fields\includes\forms\form-customizer.php on line 26

Deprecated: Creation of dynamic property acf_form_customizer::$preview_fields is deprecated in D:\inetpub\wwwroot\blog.skoleni-ict.cz\wp-content\plugins\advanced-custom-fields\includes\forms\form-customizer.php on line 27

Deprecated: Creation of dynamic property acf_form_customizer::$preview_errors is deprecated in D:\inetpub\wwwroot\blog.skoleni-ict.cz\wp-content\plugins\advanced-custom-fields\includes\forms\form-customizer.php on line 28

Deprecated: Creation of dynamic property ACF::$form_front is deprecated in D:\inetpub\wwwroot\blog.skoleni-ict.cz\wp-content\plugins\advanced-custom-fields\includes\forms\form-front.php on line 603

Deprecated: Creation of dynamic property acf_form_widget::$preview_values is deprecated in D:\inetpub\wwwroot\blog.skoleni-ict.cz\wp-content\plugins\advanced-custom-fields\includes\forms\form-widget.php on line 34

Deprecated: Creation of dynamic property acf_form_widget::$preview_reference is deprecated in D:\inetpub\wwwroot\blog.skoleni-ict.cz\wp-content\plugins\advanced-custom-fields\includes\forms\form-widget.php on line 35

Deprecated: Creation of dynamic property acf_form_widget::$preview_errors is deprecated in D:\inetpub\wwwroot\blog.skoleni-ict.cz\wp-content\plugins\advanced-custom-fields\includes\forms\form-widget.php on line 36

Deprecated: Return type of mtekk\adminKit\setting\setting_base::jsonSerialize() should either be compatible with JsonSerializable::jsonSerialize(): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in D:\inetpub\wwwroot\blog.skoleni-ict.cz\wp-content\plugins\breadcrumb-navxt\includes\adminKit\setting\class-mtekk_adminkit_setting_base.php on line 66

Deprecated: Creation of dynamic property acf_field_oembed::$width is deprecated in D:\inetpub\wwwroot\blog.skoleni-ict.cz\wp-content\plugins\advanced-custom-fields\includes\fields\class-acf-field-oembed.php on line 31

Deprecated: Creation of dynamic property acf_field_oembed::$height is deprecated in D:\inetpub\wwwroot\blog.skoleni-ict.cz\wp-content\plugins\advanced-custom-fields\includes\fields\class-acf-field-oembed.php on line 32

Deprecated: Creation of dynamic property acf_field_google_map::$default_values is deprecated in D:\inetpub\wwwroot\blog.skoleni-ict.cz\wp-content\plugins\advanced-custom-fields\includes\fields\class-acf-field-google-map.php on line 33

Deprecated: Creation of dynamic property acf_field__group::$have_rows is deprecated in D:\inetpub\wwwroot\blog.skoleni-ict.cz\wp-content\plugins\advanced-custom-fields\includes\fields\class-acf-field-group.php on line 31

Deprecated: Creation of dynamic property YARPP::$is_custom_template is deprecated in D:\inetpub\wwwroot\blog.skoleni-ict.cz\wp-content\plugins\yet-another-related-posts-plugin\classes\YARPP_Core.php on line 56

Deprecated: Creation of dynamic property YARPP::$db_options is deprecated in D:\inetpub\wwwroot\blog.skoleni-ict.cz\wp-content\plugins\yet-another-related-posts-plugin\classes\YARPP_Core.php on line 69
ICT Pro » Multitasking funguje!

Síla myšlenky je neviditelná jako semeno, ze kterého vyroste obrovský strom. Je však příčinou viditelných změn v životě člověka. (L.N.Tolstoj)

Multitasking funguje!

Zveřejněno: 21. 08. 2023
Kategorie: ICT technologie, Programování

Kdysi dávno, kdy počítače ještě nebyly běžnou součástí našich životů, objevili psychologové výzkumný článek z dílny IBM. Ten pochází z roku 1965 a popisuje souběžné zpracování více úloh v počítačových systémech.

Od té doby se psychologický a inženýrský pohled na multitasking rozcházejí.

A tak zatímco lidé od měkkých dovedností říkají, že multitasking neexistuje, mnozí programátoři s ním denně pracují.

Jak vypadá počítačový multitasking

Pro nás je multitasking, kdykoli systém vede v patrnosti několik nedokončených úloh zaráz. Úloha se může přerušit dobrovolně, aby čekala na další vstupy nebo umožnila práci ostatním úlohám. Kooperativní úlohy vystačí s dobrovolným střídáním.

Moderní systémy používají preemtivní úlohy, které jsou připravené nechat se přerušit kdykoli. Často navíc běží skutečně zaráz na různých procesorových jádrech. Tvořit aplikace z takových úloh je snadné, pokud nám stačí, když si mezi sebou jen posílají zprávy.

Architektura založená na úlohách komunikujících pomocí zpráv je výhodná v mnoha ohledech. Takto postavená aplikace může fungovat jak v rámci jednoho stroje, tak i na distribuovaném systému, který využívá celou řadu spolupracujících počítačů

Když je posílání zpráv moc pomalé

Někdy může předávání celých datových zpráv aplikaci zdržovat. Často vyžaduje několikanásobné kopírování dat v paměti počítače a interakci s operačním systémem. Místo toho můžou úlohy sdílet paměťový prostor a pracovat se společnými daty.

Udržet pořádek ve společných datech je těžké. Naštěstí v posledních letech vznikají programovací jazyky a nástroje, které dokážou ohlídat správnost programu a jeho přístupu ke sdíleným datům. Tyto nástroje nás chrání před nepříjemnými následky skrytých chyb. Programátor musí upravit své postupy tak, aby program bylo možné úspěšně zkontrolovat.

Pokud chcete vědět více, podívejte se, co umí například programovací jazyk Rust. Správné sdílení dat se kontroluje už při sestavení. Spouští se tedy jen zkontrolované programy.