|
所在平台: Udemy |
课程主页: https://www.udemy.com/course/programowanie-wspobiezne-podstawy/
课程评论:没有评论
这门名为“并发编程入门”的 Coursera 课程,旨在帮助学习者理解并掌握并发编程的基础知识。 **课程概述:** 并发编程是一种让计算机程序同时执行多个任务的技术,在当今的软件开发中几乎不可或缺。试想一下,如果操作系统一次只能运行一个应用程序,或者用户界面在等待其他操作完成时总是卡顿,这样的软件是无法正常运作的。因此,每一位现代程序员迟早都要接触并发编程。 然而,许多初学者在没有深入理解的情况下就开始编写并发(多线程)应用程序,容易犯下难以发现且会导致程序行为不可预测或不稳定的错误。本课程正是为了帮助学习者规避这些错误而设计的,重点关注并发编程中的基本问题及应对方法。 **课程内容:** 通过本课程,您将了解到: * 什么是进程和线程。 * 多线程程序中不当线程同步的潜在风险。 * 如何使用关键段、互斥量和信号量等工具实现正确的线程同步。 **技术栈与适用性:** 课程中的编程示例使用 C 语言和 Windows 操作系统进行演示。然而,所讲解的技术是通用的,适用于其他操作系统以及支持并发的几乎任何编程语言。 **课程价值:** 深入理解并发编程是区分业余编程者与专业程序员的关键技能之一,并且通常被认为是一个较难掌握的主题。本课程将帮助您轻松迈出并发编程的第一步,并避免那些可能耗费您大量时间去修复的错误。
Programowanie współbieżne to technika pozwalająca programom komputerowym na wykonywanie wielu zadań jednocześnie. Współczesne oprogramowanie praktycznie nie istnieje bez współbieżności. Wyobraźmy sobie system operacyjny, który nie pozwala uruchomić więcej niż jednej aplikacji jednocześnie albo program, którego interfejs użytkownika wciąż się zawiesza oczekując na zakończenie innych operacji.Dlatego każdy współczesny programista prędzej czy później musi zetknąć się z programowaniem wspóbieżnym. Niestety osoby, które zaczynają tworzyć aplikacje współbieżne (wielowątkowe) bez dobrego zrozumienia tego tematu popełniają błędy, które bardzo trudno znaleźć, a które skutkują nieprzewidywalnym lub niestabilnym działaniem aplikacji.Takich błędów można łatwo unikać znając podstawowe problemy programowania współbieżnego i metody radzenia sobie z nimi. Właśnie tym metodom poświęcony jest ten kurs.Dowiesz się z niego czym są procesy i wątki, czym grozi niewłaściwa synchronizacja wątków w programach wielowątkowych i jak korzystać z takich narzędzi jak sekcje krytyczne, muteksy i semafory do uzyskania właściwej synchronizacji. Przykłady programistyczne w kursie są wykonywane w języku C i systemie operacyjnym Windows, ale omawiane techniki są typowe dla innych systemów operacyjnych i praktycznie każdego języka programowania obsługującego współbieżność.Dobre zrozumienie współbieżności jest jednym z tych elementów, które odróżniają profesjonalnego programistę od osoby zajmującej się programowaniem jedynie amatorsko. Jednocześnie jest ono często uznawane za temat trudny do zrozumienia. Dzięki naszemu kursowi z łatwością postawisz pierwsze kroki w tej dziedzinie i unikniesz wielu błędów, których naprawienie może Ci zająć bardzo dużo czasu.