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

64 lines
4.0 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="concept" />
<meta name="DC.Title" content="Thread program models" />
<meta name="abstract" content="There are different models for creating multithread programs." />
<meta name="description" content="There are different models for creating multithread programs." />
<meta name="DC.Relation" scheme="URI" content="rzahwas4co.htm" />
<meta name="DC.Relation" scheme="URI" content="rzahwopmco.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="rzahwrog-rogco" />
<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>Thread program models</title>
</head>
<body id="rzahwrog-rogco"><a name="rzahwrog-rogco"><!-- --></a>
<!-- Java sync-link --><script language="Javascript" src="../rzahg/synch.js" type="text/javascript"></script>
<h1 class="topictitle1">Thread program models</h1>
<div><p>There are different models for creating multithread programs.</p>
<p>One of the key differences between <span class="keyword">i5/OS™</span> and
other platforms is the ability of <span class="keyword">i5/OS</span> to
support a call-return program model. On other platforms, if one program wants
to call another, it must start a second process to run the second program,
or replace the first program with the second. Starting another process to
call a program is expensive in terms of startup time and system resources.
To avoid this expense, programmers group commonly used functions into dynamically
linked libraries (DLLs). Whenever a program needs a service that a DLL provides,
the program loads the DLL and calls the function that provides the needed
service. </p>
<p>Although the <span class="keyword">i5/OS</span> call-return
program model is supported for multithreaded programs, you are strongly encouraged
to use service programs or DLLs that run in the caller's activation group.
If you perform ports of multithreaded programs from other platforms, you will
naturally employ service programs in their port. </p>
<p>Although it is not a requirement, all programs
used in a multithreaded application should be Integrated Language
Environment<sup>®</sup> (ILE) programs. The use of the original program model (OPM)
in multithreaded programs requires special considerations. You must evaluate
the thread safety of existing ILE or OPM programs if multithreaded programs
call them. </p>
</div>
<div>
<div class="familylinks">
<div class="parentlink"><strong>Parent topic:</strong> <a href="rzahwas4co.htm" title="All programs have at least one thread, referred to as the initial thread. In a program with multiple threads, each thread runs its code independently of the other threads in the program.">Threads on i5/OS</a></div>
</div>
<div class="relref"><strong>Related reference</strong><br />
<div><a href="rzahwopmco.htm" title="Original program model (OPM) programs are not threadsafe.">Threads considerations for OPM language</a></div>
</div>
</div>
</body>
</html>