Linux Today: Linux News On Internet Time.

developerWorks: Concurrency for Grown-Ups

Dec 19, 2002, 05:30 (1 Talkback[s])
(Other stories by Cameron Laird)

"Many mistakes are made in the name of multi-processing. Most academic programs and many programming texts explain the concepts of concurrency clearly, but it's a difficult topic, and nearly all of us can use a refresher.

"Concurrency labels situations where more than one 'application' is running at a time. I quote 'application' here because the meaning is context dependent. Linux hosts always fill their process tables with a bunch of more-or-less simultaneous programs: network protocol daemons, cron managers, the kernel itself, and often much more. Linux is a multi-tasking operating system. It's built for such duty.

"On a typical uniprocessor host, tasks don't really execute simultaneously. The part of the kernel called the scheduler swaps jobs in and out so that they all get a turn. Your browser downloads during the same interval as you're editing a program source, and also playing a music track. Concurrency most often has to do with this appearance of simultaneity..."

Complete Story

Related Stories: