Concurrency (computer Science) - Practice

Practice

Concurrent programming encompasses the programming languages and algorithms used to implement concurrent systems. Concurrent programming is usually considered to be more general than parallel programming because it can involve arbitrary and dynamic patterns of communication and interaction, whereas parallel systems generally have a predefined and well-structured communications pattern. The base goals of concurrent programming include correctness, performance and robustness. Concurrent systems such as Operating systems and Database management systems are generally designed to operate indefinitely, including automatic recovery from failure, and not terminate unexpectedly (see Concurrency control). Some concurrent systems implement a form of transparent concurrency, in which concurrent computational entities may compete for and share a single resource, but the complexities of this competition and sharing are shielded from the programmer.

Because they use shared resources, concurrent systems in general require the inclusion of some kind of arbiter somewhere in their implementation (often in the underlying hardware), to control access to those resources. The use of arbiters introduces the possibility of indeterminacy in concurrent computation which has major implications for practice including correctness and performance. For example arbitration introduces unbounded nondeterminism which raises issues with model checking because it causes explosion in the state space and can even cause models to have an infinite number of states.

Some concurrent programming models include coprocesses and deterministic concurrency. In these models, threads of control explicitly yield their timeslices, either to the system or to another process.

Read more about this topic:  Concurrency (computer Science)

Famous quotes containing the word practice:

    Alas for the cripple Practice when it seeks to come up with the bird Theory, which flies before it. Try your design on the best school. The scholars are of all ages and temperaments and capacities. It is difficult to class them, some are too young, some are slow, some perverse. Each requires so much consideration, that the morning hope of the teacher, of a day of love and progress, is often closed at evening by despair.
    Ralph Waldo Emerson (1803–1882)

    She, too, would now swim down the river of matrimony with a beautiful name, and a handle to it, as the owner of a fine family property. Women’s rights was an excellent doctrine to preach, but for practice could not stand the strain of such temptation.
    Anthony Trollope (1815–1882)

    In my practice I’ve seen how people have allowed their humanity to drain away. Only it happens slowly instead of all at once. I didn’t seem to mind.... All of us, a little bit. We harden our hearts. Grow callous. Only when we have to fight to stay human do we realize how precious it is to us, how dear.
    Daniel Mainwaring (1902–1977)