• Home
  • Welcome to the Jungle
  • Elements of Modern C++ Style
  • About

Sutter’s Mill

Herb Sutter on software, hardware, and concurrency

Feeds:
Posts
Comments
« Other Concurrency Sessions at PDC’09
Trip Report: October 2009 ISO C++ Standards Meeting »

Effective Concurrency: Prefer structured lifetimes – local, nested, bounded, deterministic.

2009-11-11 by Herb Sutter

This month’s Effective Concurrency column, Prefer structured lifetimes – local, nested, bounded, deterministic, is now live on DDJ’s website.

From the article:

Where possible, prefer structured lifetimes: ones that are local, nested, bounded, and deterministic. This is true no matter what kind of lifetime we’re considering, including object lifetimes, thread or task lifetimes, lock lifetimes, or any other kind. …

I hope you enjoy it. Finally, here are links to previous Effective Concurrency columns:

The Pillars of Concurrency (Aug 2007)

How Much Scalability Do You Have or Need? (Sep 2007)

Use Critical Sections (Preferably Locks) to Eliminate Races (Oct 2007)

Apply Critical Sections Consistently (Nov 2007)

Avoid Calling Unknown Code While Inside a Critical Section (Dec 2007)

Use Lock Hierarchies to Avoid Deadlock (Jan 2008)

Break Amdahl’s Law! (Feb 2008)

Going Superlinear (Mar 2008)

Super Linearity and the Bigger Machine (Apr 2008)

Interrupt Politely (May 2008)

Maximize Locality, Minimize Contention (Jun 2008)

Choose Concurrency-Friendly Data Structures (Jul 2008)

The Many Faces of Deadlock (Aug 2008)

Lock-Free Code: A False Sense of Security (Sep 2008)

Writing Lock-Free Code: A Corrected Queue (Oct 2008)

Writing a Generalized Concurrent Queue (Nov 2008)

Understanding Parallel Performance (Dec 2008)

Measuring Parallel Performance: Optimizing a Concurrent Queue (Jan 2009)

volatile vs. volatile (Feb 2009)

Sharing Is the Root of All Contention (Mar 2009)

Use Threads Correctly = Isolation + Asynchronous Messages (Apr 2009)

Use Thread Pools Correctly: Keep Tasks Short and Nonblocking (Apr 2009)

Eliminate False Sharing (May 2009)

Break Up and Interleave Work to Keep Threads Responsive (Jun 2009)

The Power of “In Progress” (Jul 2009)

Design for Manycore Systems (Aug 2009)

Avoid Exposing Concurrency – Hide It Inside Synchronous Methods (Oct 2009)

Prefer structured lifetimes – local, nested, bounded, deterministic (Nov 2009)

Posted in Concurrency, Effective Concurrency | 4 Comments

4 Responses

  1. on 2009-11-24 at 8:18 am Benjamin

    Thanks for your monthly columns, I read them with great interest! Anyway, I notice that the dr dobbs site does not include any tables/figures that you reference in your article.

    This means I have to wait for the Dr Dobbs Digest PDF that they mail out once a month, is this intentional?


  2. on 2009-11-24 at 12:55 pm Herb Sutter

    @Benjamin: I see all the tables/figures, including this article (just checked it again). Can you give examples of ones you don’t see? And what browser/OS are you using — I don’t maintain the site but it’s info I could pass along to Dobb’s in case it’s a browser compat issue.


  3. on 2009-11-25 at 12:09 am Benjamin

    Hi Herb,

    I feel very, very stupid! Turns out I was using firefox and I had it configured to block images from i.cmpnet.com (probably because some other site threw banners at me from that domain?). I apologise for the false alarm, but the good news is now I can sit back and enjoy your new column in all its glory. Thanks for answering!

    Kind regards,
    Benjamin


  4. on 2009-11-25 at 1:28 am David Heffernan

    @Benjamin

    You need Ad-Block!



Comments are closed.

  • Tweets

    • Lost two comments: As mentioned in my GotW kickoff post, I’m experimenting with software and a workflow that l... bit.ly/14IUuDA 10 hours ago
    • GotW #6b: Const-Correctness, Part 2: const and mutable are powerful tools for writing safer code. Use them con... bit.ly/11ivVOR 13 hours ago
    • GotW #6a: Const-Correctness, Part 1: const and mutable have been in C++ for many years. How well do you know w... bit.ly/14I2apD 13 hours ago
    Follow @herbsutter
  • Popular

    • GotW #5 Solution: Overriding Virtual Functions
    • GotW #6a: Const-Correctness, Part 1
    • GotW #6a Solution: Const-Correctness, Part 1
  • Categories

    • Apple
    • C# / .NET
    • C++
    • Cloud
    • Concurrency
    • Effective Concurrency
    • Friday Thoughts
    • GotW
    • Hardware
    • Java
    • Microsoft
    • Opinion & Editorial
    • Reader Q&A
    • Software Development
    • Talks & Events
    • Uncategorized
    • Web

Blog at WordPress.com.

Theme: Customized MistyLook by WPThemes.


Follow

Get every new post delivered to your Inbox.

Join 1,423 other followers

Powered by WordPress.com