home *** CD-ROM | disk | FTP | other *** search
/ PC World 1998 October / PCWorld_1998-10_cd.bin / software / prehled / inprise / JRUNTIME.Z / README.NTP < prev    next >
Text File  |  1998-05-08  |  7KB  |  185 lines

  1.                     README
  2.             
  3.             Java Solaris Native Threads Pack
  4.                      Version 1.1.6
  5.             
  6. -----------------------------------------------------------------------
  7. CONTENTS
  8.  
  9.    Overview of the Native Threads Pack
  10.    System Requirements
  11.    Installation
  12.    Using the Native Threads Pack
  13.      - The THREADS_FLAG environment variable
  14.      - The -native and -green convenience options
  15.      
  16.      
  17. =======================================================================
  18.             OVERVIEW OF THE NATIVE THREADS PACK
  19. -----------------------------------------------------------------------
  20.  
  21. The Solaris Native Threads Pack 1.1.6 is available in FCS versions for 
  22. Solaris SPARC and Solaris-x86. When you install the Native Threads 
  23. Pack, the Java virtual machine (VM) is able to use native threads when 
  24. running Java code. Native threads can provide several advantages over 
  25. the default threads package (called green threads), depending on your 
  26. computing situation. Among the benefits of using the native threads VM 
  27. are:
  28.  
  29.      - If you run Java code in a multi-processor environment, the 
  30.     Solaris kernel can schedule native threads on the parallel 
  31.     processors for increased performance. By contrast, green 
  32.     threads exist only at the user-level and are not mapped to 
  33.     multiple kernel threads by the operating system. Performance 
  34.     enhancement from parallelism cannot be realized using green 
  35.     threads.
  36.  
  37.      - The native threads VM can call into C libraries that use 
  38.     Solaris native threads. Such libraries cannot be used with 
  39.     green threads.
  40.  
  41.      - When using the native threads, the VM can avoid some 
  42.     inefficient remapping of I/O system calls that are necessary 
  43.     when green threads are used.
  44.  
  45. In some instances, it may be advisable to use the default green 
  46. threads. Native code that is not multithread safe (MT-safe) may not 
  47. work correctly with native threads.  In general, if you aren't using 
  48. the native Solaris threads mechanisms directly, then you need to 
  49. compile your native code with the option -D_REENTRANT to make sure 
  50. that they work correctly in a threaded environment.  You may also need 
  51. to use reentrant versions of certain Solaris interfaces.  
  52.  
  53. Specific information concerning multithreaded programming on Solaris 
  54. may be found in the Multithreaded Programming Guide of the Solaris 
  55. Software Developer AnswerBook. This information is also available 
  56. at http://docs.sun.com. Navigate to the Tools link under the 
  57. Programming heading and go to the link "Solaris 2.6 Software 
  58. Developer Collection Vol. 1".
  59.  
  60. It is possible that thread-synchronization bugs in code that you run 
  61. may be hidden when using green threads, but may manifest themselves 
  62. when run under native threads. You should consider this possibility if 
  63. your code runs differently under the two threads packages.
  64.  
  65. The Native Threads Pack has not been tested in conjunction with any 
  66. JIT compiler, and its use with JIT compilers is not recommended.
  67.  
  68. If you encounter any problems or bugs with the Native Threads Pack, 
  69. please report them via the JavaSoft bug submission web page at 
  70. http://java.sun.com/cgi-bin/bugreport.cgi. Please select the 
  71. "runtime" subcategory when reporting a bug against the Native Threads 
  72. Pack.
  73.  
  74.  
  75. =======================================================================
  76.             SYSTEM REQUIREMENTS
  77. -----------------------------------------------------------------------
  78.  
  79. The JavaSoft JDK 1.1.6 or JRE 1.1.6 must be installed on your machine 
  80. prior to the installation of the Native Threads Pack. 
  81.  
  82. To use Solaris Native Threads, you need Solaris 2.5.1 or Solaris 2.6.
  83. Earlier versions of Solaris, including Solaris 2.5, are not supported.
  84.  
  85. To support Native Threads, Solaris 2.5.1 needs two patches which
  86. resolve thread synchronization problems. On Solaris-SPARC, the
  87. required patches are 103566-08 and 103640-08. On Solaris-x86, the
  88. required patches are 104241-01 and 103641-08. The last two digits of
  89. the patch numbers indicate the patch version; you can use the
  90. indicated patch versions or later versions of the same patches.
  91.  
  92. To determine which patches are installed, use the shell command
  93. "showrev":
  94.  
  95. % showrev -p
  96.  
  97. You can obtain patches from your warranty provider, from SunService
  98. (if you have a SunSpectrum contract) or from the SunSolve web site.
  99. To obtain these patches from the SunSolve web site:
  100.  
  101.     1. Access the web site at http://sunsolve.sun.com/.
  102.  
  103.     2. Choose the "Public Patches" link.
  104.  
  105.     3. Download either the Solaris 2.5.1 Recommended Patch Cluster or
  106.        the Solaris 2.5.1 x86_Recommended Patch Cluster.
  107.  
  108.     4. Follow the instructions in the Patch Cluster README, available
  109.        from the "Public Patches" page.
  110.  
  111.  
  112. =======================================================================
  113.                        INSTALLATION
  114. -----------------------------------------------------------------------
  115.  
  116. To install the Native Threads Pack on top of JDK 1.1.6, the download 
  117. file must be opened inside the jdk1.1.6 directory, on the same level as 
  118. the bin and lib directories. To install the Native Threads Pack on top 
  119. of JRE 1.1.6, the download file must be opened inside the jre1.1.6 
  120. directory, on the same level as the bin and lib directories. 
  121.  
  122. Installation for SPARC ------------------------------------------------
  123.  
  124. To install the Native Threads Pack on a SPARC-based machine, execute 
  125. the following commands:
  126.  
  127.     % chmod a+x ntp116-solaris2-sparc.bin
  128.     % ./ntp116-solaris2-sparc.bin
  129.  
  130. Two directories, jdk1.1.6/bin/sparc/native_threads and 
  131. jdk1.1.6/lib/sparc/native_threads, will be created to contain the 
  132. Native Threads Pack files.
  133.  
  134. Installation for x86 --------------------------------------------------
  135.  
  136. To install the Native Threads Pack on an x86-based machine, execute 
  137. the following commands:
  138.  
  139.     % chmod a+x ntp116-solaris2-x86.bin
  140.     % ./ntp116-solaris2-x86.bin
  141.  
  142. Two directories, jdk1.1.6/bin/i386/native_threads and 
  143. jdk1.1.6/lib/i386/native_threads, will be created to contain the Native 
  144. Threads Pack files.
  145.  
  146.  
  147. =======================================================================
  148.                 USING THE NATIVE THREADS PACK
  149. -----------------------------------------------------------------------
  150.  
  151. The THREADS_FLAG Environment Variable ---------------------------------
  152.  
  153. All the tools in the JDK use green threads as a default. To specify 
  154. that native threads should be used, set the THREADS_FLAG environment 
  155. variable:
  156.  
  157.     % setenv THREADS_FLAG native
  158.  
  159. You can revert to use of green threads by setting THREADS_FLAG to 
  160. the value green:
  161.  
  162.     % setenv THREADS_FLAG green
  163.  
  164.  
  165. The -native and -green Convenience Options ----------------------------
  166.  
  167. You can specify that the JDK tools should use either native threads or 
  168. green threads by using the -native and -green convenience options. If 
  169. you use -native or -green, they must be the first option specified on 
  170. the command line.
  171.  
  172. The convenience options can be used as in these examples:
  173.  
  174.     % java -native mypkg.MyClass
  175.     % javac -native MyClass.java
  176.     % appletviewer -green MyApplet.html
  177.  
  178. The convenience options override the setting of the THREADS_FLAG 
  179. environment variable.
  180.  
  181. -----------------------------------------------------------------------
  182. Copyright ⌐ 1997, 1998 Sun Microsystems, Inc.
  183. 901 San Antonio Road, Palo Alto, CA 94303-4900. USA
  184. All rights reserved.
  185.