当前位置:首页 » 服务器技术
开发技术指南» 文章正文
    引言: 为什么会排队等待? 下面的这个简单的 Java 程序完成四项不相关的任务。
 

 

 ·实用工具类库java.util(1)    »显示摘要«
    摘要:java的实用工具类库java.util包中,java提供了一些实用的方法和数据结构。例如,java提供日期(data)类、日历(calendar)类来产生和获取日期及时间,提供随机数(random)类产生各种类型的随机数,还提供了堆栈(stack)、向量(vector) 、位集合(bitset)以及哈希表(hashtable)等类来表示相应的数据结构。 图1给出了java.util包的基本层次......
    摘要:http客户端程序已集成在java语言中,可以通过urlconnection类调用。遗憾的是,由于sun没有公布http客户程序的源码,它实现的细节仍是一个谜。本文根据http协议规范,用java.net.socket类实现一个http协议客户端程序。1.socket类 了解tcp/ip协议集通信的读者知道,协议间的通信是通过socket完成的。在java.net包中,socket类就是对soc......


Java程序中的多线程(1)

为什么会排队等待?

【程序编程相关:英特尔网吧平台悄然推进 首次捆绑软硬件

【推荐阅读:伦敦将成首个实现城市级WiMAX服务的英

下面的这个简单的 java 程序完成四项不相关的任务.这样的程序有单个控制线程,控制在这四个任务之间线性地移动.此外,因为所需的资源 ? 打印机.磁盘.数据库与显示屏 -- 由于硬件与软件的限制都有内在的潜伏时间,所以每项任务都包含明显的等待时间.因此,程序在访问数据库之前必须等待打印机完成打印文件的任务,等等.如果您正在等待程序的完成,则这是对计算资源与您的时间的一种拙劣使用.改进此程序的一种方法是使它成为多线程的. 【扩展信息:思科加入开源联盟OMP 成该组织首个商业

四项不相关的任务

class myclass {

static public void main(string args[]) {

print_a_file();

manipulate_another_file();

access_database();

draw_picture_on_screen();

}}

在本例中,每项任务在开始之前必须等待前一项任务完成,即使所涉及的任务毫不相关也是这样.但是,在现实生活中,我们经常使用多线程模型.我们在处理某些任务的同时也可以让孩子.配偶与父母完成别的任务.例如,我在写信的同时可能打发我的儿子去邮局买邮票.用软件术语来说,这称为多个控制(或执行)线程.

可以用两种不同的方法来获得多个控制线程:

1.多个进程

在大多数操作系统中都可以创建多个进程.当一个程序启动时,它可以为即将开始的每项任务创建一个进程,并允许它们同时运行.当一个程序因等待网络访问或用户输入而被阻塞时,另一个程序还可以运行,这样就增加了资源利用率.但是,按照这种方式创建每个进程要付出一定的代价:设置一个进程要占用相当一部分处理器时间与内存资源.而且,大多数操作系统不允许进程访问其他进程的内存空间.
...   下一页
 ·类注释文档编写方法    »显示摘要«
    摘要:对于java语言,最体贴的一项设计就是它并没有打算让人们为了写程序而写程序。对于程序的文档化,最大的问题莫过于对文档的维护。若文档与代码分离,那么每次改变代码后都要改变文档,这无疑会变成相当麻烦的一件事情。解决的方法看起来似乎很简单:将代码同文档“链接”起来。为达到这个目的,最简单的方法是将所有内容都置于同一个文件。然而,为使一切都整齐划一,还必须使用一种特殊的注释语法,以便标记出特殊的文档;另外......
» 本期热门文章:

©2000-2007 All Rights Reserved. 最佳浏览:1024X768 MSIE