Skip to content

paolamoura/concurrent-programming

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

25 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

concurrent-programming

Algorithms and other things developed for Concurrent Programming class.

Objectives

  • Understand and implement concepts of parallelism, synchronization between threads, and protection of critical regions.
  • Optimize program performance through concurrent programming.
  • Develop distributed applications using languages ​​such as GoLang.
  • Simulate real-world scenarios, such as e-commerce systems and file processing.

Organization

The repository is organized by labs, each of which addresses a concept of concurrent programming:

  • Lab 1: Introduction to parallelism with file processing in Python and Java.
  • Lab 2: Thread synchronization and concurrency control.
  • Lab 3: Calculation of similarity between files using concurrent programming.
  • Lab 4: Concurrent implementation in GoLang for efficient processing.
  • Lab 5: Building a Bittorrent-inspired distributed system using GoLang.
  • Lab 6: Producer-Consumer distributed system using Java.
  • Lab 7: Order processing in a concurrent e-commerce system.

How to Run

Each lab contains scripts (build.sh and run.sh) to facilitate execution. See the individual directories for details on how to run the programs in different languages.

Nice Resources found so far

About

Concurrent Programming with Go, Shell, Python and Java

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published