SHARE
Facebook X Pinterest WhatsApp

C/C++ reference counting with atomic variables and gcc

Written By
thumbnail
Web Webster
Web Webster
May 28, 2009

[ Thanks to Alexander
Sandler
for this link. ]

“To explain why two mechanisms provide best performance
and atomic variables aid us, consider following scenario.

“First thread (the manipulator) has to find a particular object
in the data structure and change it. Second thread (the eraser)
deletes expired objects. From time to time, first thread tries to
manipulate an object that second thread tries to delete. This is a
classical scenario that can be found in almost any multithreaded
program.

“Obviously two threads have to work with some sort of mutual
exclusion mechanism. Lets say we protect entire data structure with
a single mutex. In this case, manipulator thread has to hold the
mutex locked for as long as it takes it to find an object and to
manipulate it. This means that eraser thread won’t be able to
access the data structure for as long as manipulator thread works.
If all manipulator thread does is searching for entries and
manipulates them, then eraser thread just won’t be able to access
the data structure.”


Complete Story

thumbnail
Web Webster

Web Webster

Web Webster has more than 20 years of writing and editorial experience in the tech sector. He’s written and edited news, demand generation, user-focused, and thought leadership content for business software solutions, consumer tech, and Linux Today, he edits and writes for a portfolio of tech industry news and analysis websites including webopedia.com, and DatabaseJournal.com.

Recommended for you...

5 Best Free and Open Source Text Expander Tools
webmaster
Jun 13, 2025
Grafito: Systemd Journal Log Viewer with a Beautiful Web UI
Bobby Borisov
Jun 12, 2025
FreeBSD Wants to Know a Few Things
brideoflinux
May 11, 2025
NVK enabled for Maxwell, Pascal, and Volta GPUs
Kara Bembridge
May 1, 2025
Linux Today Logo

LinuxToday is a trusted, contributor-driven news resource supporting all types of Linux users. Our thriving international community engages with us through social media and frequent content contributions aimed at solving problems ranging from personal computing to enterprise-level IT operations. LinuxToday serves as a home for a community that struggles to find comparable information elsewhere on the web.

Property of TechnologyAdvice. © 2025 TechnologyAdvice. All Rights Reserved

Advertiser Disclosure: Some of the products that appear on this site are from companies from which TechnologyAdvice receives compensation. This compensation may impact how and where products appear on this site including, for example, the order in which they appear. TechnologyAdvice does not include all companies or all types of products available in the marketplace.