ibm-information-center/dist/eclipse/plugins/i5OS.ic.rzahw_5.4.0.1/rzahwconco.htm

57 lines
3.4 KiB
HTML

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html lang="en-us" xml:lang="en-us">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="security" content="public" />
<meta name="Robots" content="index,follow" />
<meta http-equiv="PICS-Label" content='(PICS-1.1 "http://www.icra.org/ratingsv02.html" l gen true r (cz 1 lz 1 nz 1 oz 1 vz 1) "http://www.rsac.org/ratingsv01.html" l gen true r (n 0 s 0 v 0 l 0) "http://www.classify.org/safesurf/" l gen true r (SS~~000 1))' />
<meta name="DC.Type" content="reference" />
<meta name="DC.Title" content="Contention among threads" />
<meta name="abstract" content="Contention occurs when one thread has to wait for another thread to finish using a resource." />
<meta name="description" content="Contention occurs when one thread has to wait for another thread to finish using a resource." />
<meta name="DC.Relation" scheme="URI" content="rzahwpcoco.htm" />
<meta name="copyright" content="(C) Copyright IBM Corporation 1998, 2006" />
<meta name="DC.Rights.Owner" content="(C) Copyright IBM Corporation 1998, 2006" />
<meta name="DC.Format" content="XHTML" />
<meta name="DC.Identifier" content="rzahwcon-conco" />
<meta name="DC.Language" content="en-us" />
<!-- All rights reserved. Licensed Materials Property of IBM -->
<!-- US Government Users Restricted Rights -->
<!-- Use, duplication or disclosure restricted by -->
<!-- GSA ADP Schedule Contract with IBM Corp. -->
<link rel="stylesheet" type="text/css" href="./ibmdita.css" />
<link rel="stylesheet" type="text/css" href="./ic.css" />
<title>Contention among threads</title>
</head>
<body id="rzahwcon-conco"><a name="rzahwcon-conco"><!-- --></a>
<!-- Java sync-link --><script language="Javascript" src="../rzahg/synch.js" type="text/javascript"></script>
<h1 class="topictitle1">Contention among threads</h1>
<div><p>Contention occurs when one thread has to wait for another thread
to finish using a resource.</p>
<div class="section"><p>Contention problems can occur if your application uses too few
mutual exclusions (mutexes) to protect access to a large number of resources.
A large number of threads that share a small number of resources can also
cause contention between threads in your application.</p>
</div>
<div class="section"><p>Contention between threads over resources can cause context switches
and paging. To reduce contention within your application, you should hold
locks for the shortest amount of time and try to prevent a single lock from
being used for two different or unrelated shared resources. </p>
</div>
<div class="section"><p>Threads that poll or spin to wait
for resources prevent scaling. This form of contention can drastically affect
the performance of your application. Polling or spinning can also adversely
affect other threads or jobs, degrading system performance. Use condition
variables, semaphores, mutexes, or other synchronization primitives so that
threads never need to poll or spin to wait for resources to become available.</p>
</div>
</div>
<div>
<div class="familylinks">
<div class="parentlink"><strong>Parent topic:</strong> <a href="rzahwpcoco.htm" title="There are several performance considerations for multithreaded jobs on i5/OS.">Performance considerations in multithreaded applications</a></div>
</div>
</div>
</body>
</html>