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

55 lines
3.6 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="Calling functions that are not threadsafe" />
<meta name="abstract" content="The most common programming error when writing a threaded application is the use of APIs or system services that are not thread safe." />
<meta name="description" content="The most common programming error when writing a threaded application is the use of APIs or system services that are not thread safe." />
<meta name="DC.Relation" scheme="URI" content="rzahwcomco.htm" />
<meta name="DC.Relation" scheme="URI" content="rzahwceeco.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="rzahwnsf-nsfco" />
<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>Calling functions that are not threadsafe</title>
</head>
<body id="rzahwnsf-nsfco"><a name="rzahwnsf-nsfco"><!-- --></a>
<!-- Java sync-link --><script language="Javascript" src="../rzahg/synch.js" type="text/javascript"></script>
<h1 class="topictitle1">Calling functions that are not threadsafe</h1>
<div><p>The most common programming error when writing a threaded application
is the use of APIs or system services that are not thread safe.</p>
<div class="section"><p>An application needs to be aware of each API that it calls and
whether the provider classifies it as thread safe. If the API or system-provided
service is thread safe, it must use only other threadsafe APIs or system services
in its implementation.</p>
</div>
<div class="section"><p>This is especially problematic when your application calls user-written
code that is outside of your control. You cannot validate this code for thread
safety. If the user code is not threadsafe and you call it within your application's
own process context, you might damage the application data, or
the application might halt.</p>
</div>
</div>
<div>
<div class="familylinks">
<div class="parentlink"><strong>Parent topic:</strong> <a href="rzahwcomco.htm" title="Several programming errors often occur when writing multithreaded applications.">Common multithreaded programming errors</a></div>
</div>
<div class="relref"><strong>Related reference</strong><br />
<div><a href="rzahwceeco.htm" title="You must evaluate existing C applications for thread safety before calling them in a multithreaded job. If your C program is not threadsafe, techniques are available for calling programs that are not threadsafe from multithreaded jobs.">Threads considerations for C language</a></div>
</div>
</div>
</body>
</html>