Udemy
    •  
    •  
    •  
    •  
    •  
    •  
    •  
    •  
Turn what you know into an opportunity and reach millions around the world.
Learn More
Your cart is empty.
Keep shopping
Programação Concorrente com Pthreads e Linguagem C
Highest Rated
Rating: 4.9 out of 5(54 ratings)
307 students

Programação Concorrente com Pthreads e Linguagem C

Linux POSIX Threads (Pthreads), Sincronização entre Threads, Mutex, Variável Condição, Linguagem C
Last updated 12/2022
Portuguese
Portuguese [Auto],

What you'll learn

  • Acesso vitalício por R$ 25,90 aplicando cupom "2025OUT"
  • Fundamentos da programação concorrente
  • Programação usando threads na linguagem C
  • Mutexes, variáveis condição, barreiras e outros mecanismos de sincronização
  • Criação e emprego de pool de threads
  • Como escrever código seguro usando threads com a biblioteca Pthreads no Linux

Course content

14 sections71 lectures17h 38m total length
  • Objetivo, Método e Pré-Requisitos8:28
  • Programação Multithread19:56
  • Ferramentas para a Parte Prática4:12
  • Sugestão de Tarefa2:38

Requirements

  • Linguagem C básica
  • Comandos básicos do sistema operacional Linux

Description

Este curso trata da criação de programas com múltiplas threads (multithread, multitarefa). As threads podem executar em paralelismo real, no caso de processadores multicore, ou pseudo-paralelismo através do escalonamento provido pelo sistema operacional. As threads trocam dados através de variáveis compartilhadas e usam mecanismos de sincronização para coordenar suas execuções.

Embora os conceitos apresentados no curso sejam válidos para diferentes linguagens de programação e sistemas operacionais, vamos utilizar especificamente a linguagem de programação C e a biblioteca Pthreads disponível no Linux para os exemplos.

Ao longo de todo o curso a ênfase está na programação. As abstrações e primitivas presentes nas Pthreads são descritas através de códigos exemplo funcionais, ou seja, que compilam e executam. As aulas são apresentadas a partir de código exemplo completo, o qual fica disponível para download como um recurso do curso.

O padrão POSIX Threads (Pthreads) foi criado pela IEEE para padronizar a utilização de threads em diversos sistemas. Atualmente existem implementações da API Pthreads para várias linguagens e sistemas operacionais. Ele é muito utilizado, em particular, no desenvolvimento de aplicações do tipo "embedded system" e "Internet das Coisas".

No curso são apresentados inicialmente os conceitos que norteiam a programação concorrente em geral e a programação multithread em particular. Em seguida são mostrados os aspectos básicos tais como criar thread, esperar por thread, sincronizar threads, etc. Finalmente, são explorados os recursos mais avançados da API Pthreads, tais como sincronização em barreira e do tipo leitor/escritor. Também serão tratados aspectos fundamentais como deadlocks, exclusão mútua, atomicidade, condições de corrida e outros.

Ao final do curso é desenvolvido um pequeno projeto para ilustrar os diversos conceitos e recursos apresentados ao longo das aulas.

Em termos de ferramentas computacionais, será usado apenas um computador com o sistema operacional Linux, um editor de texto (gedit ou outro qualquer) e o compilador gcc. Também é possível usar um computador Windows com o WSL2 instalado. É claro que alunos acostumados com outros ambientes de programação, tais como as IDE Visual Studio Code ou Eclipse, podem usa-las. Porém elas não fazem parte do escopo do curso.


Who this course is for:

  • Desenvolvedores de software que precisam usar threads em suas aplicações
  • Alunos de graduação e pós-graduação em cursos de engenharia e de computação
  • O curso foi pensado para estudantes e profissionais que desejam desenvolver aplicações usando múltiplas threads no contexto da API Pthreads
  • Embora no curso seja utilizada a linguagem C no Linux, a biblioteca Pthreads está disponível para várias outras linguagens de programação e sistemas operacionais