Open in app

Sign In

Write

Sign In

Domi Yan
Domi Yan

81 Followers

Home

About

Published in Level Up Coding

·Dec 19, 2020

Producer-Consumer Problem Using Condition Variable in C++

In concurrent computing, the producer-consumer problem is a classical question. We often use it to demonstrate different synchronization technics. In a previous post, we solved it with mutexes. Today, we will revisit the problem and improve the solution with condition variables. This tutorial consists of three parts. First, we will…

Concurrent Programming

4 min read

Producer-Consumer Problem Using Condition Variable in C++
Producer-Consumer Problem Using Condition Variable in C++
Concurrent Programming

4 min read


Published in Level Up Coding

·Dec 16, 2020

Producer-Consumer Problem Using Mutex in C++

The producer-consumer problem is a classical multi-threaded synchronization problem in concurrent programming. Today, we will try to address it in C++ with mutexes. This tutorial consists of three parts. First, we define and analyze the challenging part of the quiz. In the second section, we explain and learn to use…

Concurrent Programming

4 min read

Producer-Consumer Problem Using Mutex in C++
Producer-Consumer Problem Using Mutex in C++
Concurrent Programming

4 min read


Dec 13, 2020

C++ Development Tutorial 5: Orchestrate Build Process with Make

When building a complicated C++ application, the process can involve multiple tasks including pre-processing, compilation, linking, library generation, etc. Most of the time, for time-saving purposes, we only want to re-run certain steps but not all to rebuild the application reflecting an incremental change. It’s hard to bookkeep what’s changed…

Programming

5 min read

C++ Development Tutorial 5: Orchestrate Build Process with Make
C++ Development Tutorial 5: Orchestrate Build Process with Make
Programming

5 min read


Sep 4, 2020

Understand Version Control (2) — Manage a Local Change

In the previous article of this serials, we introduced the basics concepts in a version control system (VCS) — repository, commit and branch. We know code change is recorded as a commit. The next thing is to make a commit. That sounds like an easy job — modify the file…

Version Control

5 min read

Understand Version Control (2) — Manage a Local Change
Understand Version Control (2) — Manage a Local Change
Version Control

5 min read


Aug 31, 2020

Understand Version Control (1) — Repository, Commit, Branch

Version control systems (VCS), also known as SCM (Source Code Management), are tools to help software development teams to manage changes to source code over time. It is the one tool every software developer must deal with in their daily work. This series is written to help beginners getting started…

Version Control

4 min read

Understand Version Control (1) — Repository, Commit, Branch
Understand Version Control (1) — Repository, Commit, Branch
Version Control

4 min read


Jul 21, 2020

Move Semantics and Rvalue References in C++

Move semantics and rvalue references are two advanced and confusing features added in C++11. In this article, I will explain what they are and why they are needed. Let’s start with the main problem they are trying to tackle (yes, together). Problem: Unnecessary Copy of Objects C++’s major advantage compared to other programming languages is…

Move Semantics

7 min read

Move Semantics and Rvalue References in C++
Move Semantics and Rvalue References in C++
Move Semantics

7 min read


May 9, 2020

C++ Development Tutorial 4: Static and Dynamic Libraries

In this tutorial, we will talk about libraries in C++ and how to create/use them. A library is a collection of pre-compiled code that can be re-used by programs. There are 2 types of libraries: static library and dynamic library. 1. Static Library vs Dynamic Library A static library (or archive) contains code that is linked…

Programming Tutorials

5 min read

C++ Development Tutorial 4: Static and Dynamic Libraries
C++ Development Tutorial 4: Static and Dynamic Libraries
Programming Tutorials

5 min read


May 3, 2020

C++ Development Tutorial 3: Compile Multiple Files (2) — Header Files

In the last tutorial, we talked about the basic compilations steps (preprocessing, compilation, linking) in the C++ and two important concepts “forward declaration” and “one definition rule”. If you haven’t read it, I strongly recommend reading it first. In this tutorial, we dive deep into one place where people made…

Programming Tutorials

5 min read

C++ Development Tutorial 3: Compile Multiple Files (2) — Header files
C++ Development Tutorial 3: Compile Multiple Files (2) — Header files
Programming Tutorials

5 min read


Apr 25, 2020

C++ Development Tutorial 2: Compile Multiple Files (1) — Compiling Process Basics

In the last tutorial, we compiled a simple single source file C++ program. However, most programs consist of multiple source files. It’s also good practice to separate source code into multiple files for better organization. …

Programming Tutorials

6 min read

C++ Development Tutorial 2: Compile Multiple Files (1) — Compiling Process Basics
C++ Development Tutorial 2: Compile Multiple Files (1) — Compiling Process Basics
Programming Tutorials

6 min read


Apr 24, 2020

C++ Development Tutorial 1: Compile a Simple Program

This is a series of tutorials to help you start on C++ development (in Linux/macOS) and get familiar with useful tools. It aims to help people who have basic knowledge of C++ language and want to know more about the C++ compilation/debugging/development process in general. The tutorial will mostly focus…

Tutorial

5 min read

C++ Development Tutorial 1: Compile a Simple Program
C++ Development Tutorial 1: Compile a Simple Program
Tutorial

5 min read

Domi Yan

Domi Yan

81 Followers

Building Compilers

Following
  • Tim Denning

    Tim Denning

  • Julien Simon

    Julien Simon

  • Astasia Myers

    Astasia Myers

  • Trey Huffine

    Trey Huffine

  • Inneke Mayachita

    Inneke Mayachita

Help

Status

Writers

Blog

Careers

Privacy

Terms

About

Text to speech