开发者社区


项目管理 | IT/商务管理 | 职涯
首页 - 管理和职涯
管理&职涯
全文搜索:   

Java 101之线程基础(第二部分)
作者: Al Saganich / 翻译:朱英
2000-08-23 05:39:17



<--在线程基础的第二部分中,我们将了解一下使用Java线程的缺陷和副作用,以及在SUN JDK 1.2中是如何修改线程的运行机制的-->

在上篇文章《Java 101之线程基础》中,我们介绍了线程的概念以及如何使用线程。这个月,我们将转到更高级的话题,包括线程的缺陷及副作用,以及在SUN JDK 1.2中,是如何改进线程的运行机制的。

synchronize(同步)

让我们回忆一下上篇文章中讲的:线程允许两个或者更多个进程同时执行。实际上,这些线程也可以共享对象和数据,在这种情形下,你要知道不同的线程在同一时间内不能存取同一数据,因为一开始设计Java的时候,就采用了线程的概念,Java语言定义了一个特殊的关键字synchronize(同步),该关键字可以应用到代码块上,代码块也包括入口方法,该关键字的目的是防止多个线程在同一时间执行同一代码块内的代码。

定义一个同步的方法,格式如下:

[public|private] synchronized 
methodname(...)

一个把同步这个关键字应用到方法中的简单的例子:

public class someClass {
 public void aMethod() {
    // Some code
    synchronized(this) {
    // Synchronized code block
    }
  // more code.
  }
}

同步化的关键字可以保证在同一时间内只有一个线程可以执行该代码段,而任何其他要用到该段代码的线程将被阻塞,直到第一个线程执行完该段代码。

【下一页】
声明:
Builder.com.cn(原ZDNet China应用开发频道)原创文章版权所有,未经许可严禁转载,且不构成投资建议。
近期相关报道:
实用技术文档
J2me XML
C/C++ C#
Java Oracle
Mysql .Net
VB.NET CSS
SQL Server 数据库
SQL UNIX
Linux Jsp
PHP Perl
Javascript IIS
XHTML ColdFusion
ASP/ASP.NET Apache
AJAX
订阅技术邮件
订阅"技术圈"杂志!请在下面选择您感兴趣的专题,填写e-mail地址,然后按订阅按钮:
应用开发管理
VS.NET 周刊
Database 周刊
WEB Service周刊
JAVA 周刊
IT 认证
Windows服务器周刊
互联网开发
当Windows Server 2008专家得5000元现金大奖
CNET NETWORKS 中国: 爱卡汽车网 | CNET科技资讯网 | e询网 | CWEEK | 蜂鸟网 | GameSpot China | 个人电脑 | PChome | SPN | 网友世界 | ZDNet China | 中关村在线
CNET NETWORKS 美国: BNET | CNET.com | CNET Download.com | CNET News.com | CNET Reviews | CNET Shopper.com | GameSpot | MP3.com | mySimon | Release 1.0 | Search.com | TechRepublic | TV.com | Webshots | ZDNet
Copyright (c) 2006 CNET Networks 版权所有。 ZDNet 是CNET Networks公司注册服务商标。
ZDNet 公司标识是 CNET Networks公司注册服务商标。
中华人民共和国电信与信息服务业务经营许可证编号:京ICP证010391号