国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

高級技術分析:綠色和本地線程簡單介紹

2019-11-18 12:21:28
字體:
來源:轉載
供稿:網友

  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 環境變量的設置。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 南京市| 昌平区| 昌平区| 乃东县| 尉犁县| 丽江市| 北京市| 和政县| 山东省| 龙井市| 台中县| 桐城市| 仙桃市| 桂阳县| 霍邱县| 京山县| 罗江县| 宜丰县| 宣城市| 峨山| 遂平县| 武乡县| 武隆县| 秦皇岛市| 曲沃县| 手游| 和顺县| 东乌珠穆沁旗| 霞浦县| 抚州市| 淮北市| 鲁甸县| 蒙阴县| 阳泉市| 和硕县| 泰州市| 荔波县| 乾安县| 五河县| 潞城市| 丽水市|