Java资源网

| JAVA基础 | 环境配置 | JDBC | 线程技术 | Socket编程 | JavaMail | JAVA与XML | 设计模式 | 技术新闻 | Java认证 | 程序人生 软件下载
| JSP&Servlet | Spring | Struts | Hibernate | JBuilder | Eclipse | WebService | EJB技术 | J2ME开发 | 应用服务器 | JXTA | Ajax
Articles search文章搜索
   关键字:
   类 别:
       
New download 最新下载
· [组件]HTML Parser 1.5
· [教程]WebSphere Studio应用教程
· [组件]JDom 1.0
· [工具]Junit3.8.1
· [教程]EJB编程及J2EE系统架构和设计
· [教程]EJB教程
· [教程]J2EE Tutorial中文版
· [教程]Java编程思想2(英文)
· [教程]java编程思想(完整版)
· [教程]Java网络编程
New articles 最新文章
· 设计移动 Web 服务
· 解析XML的时候完全忽略DTD
· 理解XML Schema XML Schema 初步
· 标签库的深入研究
· 提升JSP应用程序的七大绝招
· 如何使用JDOM对XML文件进行操作
· 处理XML字符串中特殊字符
· 利用Digester把XML转换成为Java对象
· 使用WebService 和RMI远程协作
· 使用Axis开发Web Service程序
Articles top 热门文章
· Eclipse基础--plugin插件安装(6644)
· eclipse+tomcat+lomboz的安装配置说明(4774)
· Java程序员就业前景(4584)
· Windows下JAVA环境变量的设置祥解(3788)
· Tomcat下JSP、Servlet和JavaBean环境的配置(3716)
· 使用links方式安装Eclipse插件(3698)
· 一个老程序员的心理话(3533)
· linux下jdk的安装与配置(3459)
· 初学者入门:Structs中基本配置入门(3334)
· Eclipse 运行命令行参数大全(3084)
您的位置:首页>>线程技术>>绿色和本地线程简单介绍
绿色和本地线程简单介绍
2005-08-05   来源:CSDN  作者:mdwolf
Java
There are two versions of the Java Development Kit (JDK) installed.
The first is the standard Java 1.1.x version, and the other is the new Java 2 (1.2.x) version.

There are two threading types available with each of the JDK's: green and native.
Green threads implement user level threads, and use only a single OS thread.

Native threads use the OS's threading system, and use one OS thread per java thread.
The threading modes can be selected by using the -green or -native flags when executing java.


JDK Versions Available
================================================================================
Flavor Version RPM Package Location (JAVA_HOME) Default thread mode
java 1.1.8_v1 jdk /usr/local/jdk118_v1   green
java2 1.2.2_RC3 jdk2 /usr/local/jdk1.2.2 native


Solaris 相关
================================================================================
结构
命令行标志:
     jdk-tool [-green | -native] options...

% setenv THREADS_FLAG [-green | native]
缺省状态是绿线程。 如果指定了命令行标志,它将覆盖 THREADS_FLAG 环境变量的设置。


如何确定使用哪一种线程选项?
Solaris Java 开发工具包有两种线程处理软件的实现。
缺省的线程实现叫作绿线程;还可以用一种本地线程实现。

本地线程在某些方面优于缺省的绿线程实现,这要视计算环境而定。 以下是使用本地线程的某些好处:

如果在多处理器的环境中运行 Java 代码,则 Solaris 内核程序可在并行处理器上调度本地线程,
以增强性能。 相比之下,绿线程只在用户级上存在,且没有被操作系统映射到多内核线程中。
并行机制产生的增强功能不能用绿线程来实现。

本地线程实现能对使用 Solaris 本地线程的 C 库进行调用,但该库却不能用在绿线程中。
虚拟机使用本地线程时,它能避免某些低效率的 I/O 系统调用的重复映射,
但用绿线程时这些重复映射是必需的。

在某些场合中,使用缺省的绿线程可能更恰当些。 非多线程安全 (MT-safe) 的平台相关代码
可能不能与本地线程一起正确地运行。

一般来说,如果不直接使用本地 Solaris 线程机制,则需用 -D_REENTRANT 选项来编译平台相关代码,
以确保它们能在线程化环境中正常运行。 可能还需要用到某些 Solaris 接口的可重入版本。

有关 Solaris 多线程编程的专门信息,可查阅“Solaris 软件开发人员问答篇的多线程编程指南”。
该信息也可在 docs.sun.com 站点找到。

在绿线程下运行的代码的线程同步错误可能会被隐藏,而在本地线程下运行时却可能会显现出来。
如果您的代码要在两种不同的线程包下运行,则必须考虑这种可能性。

如何指定选择的线程选项?
缺省状态下, Solaris Java 开发工具包的所有工具都使用绿线程。
要指定使用某种本地线程,可以通过设置 THREADS_FLAG 环境变量来实现:

% setenv THREADS_FLAG native

将 THREADS_FLAG 设为 green 值,即可恢复使用绿线程:

% setenv THREADS_FLAG green

也可以用 JDK 工具中的 -native 或 -green 命令行标志来选择线程选项。
线程标志必须是命令行上指定的第一个选项。

命令行标志的用法如下例所示:

% java -native mypkg.MyClass
% appletviewer -green MyApplet.html

命令行标志覆盖 THREADS_FLAG 环境变量的设置。


Oracle 相关
================================================================================
使用oci驱动,如果要进行ssl处理,java 必须使用本地线程来处理.

  --相关文章--
· 彻底明白Java的多线程-线程间的通信 (2007-04-13)
· 彻底明白Java的多线程-实现多线程及线程的同步 (2007-04-13)
· 对Swing线程的再思索nbsp;(下) (2007-04-13)
· 如何使用线程 (2007-04-13)
· 关于多线程同步的初步教程--可重入锁的设计及使用 (2007-04-13)
· 关于多线程同步的初步教程--使用synchronized (2007-04-13)

版权所有©2005-2006 JAVA资源网 渝ICP备05007591号 虚拟主机 | 关于我们 | 联系方式 | 广告业务 | 网站地图 | 友情链接