欢迎来到天天文库
浏览记录
ID:19358459
大小:33.00 KB
页数:11页
时间:2018-10-01
《java多线程技术在网络通信系统中的应用》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、Java多线程技术在网络通信系统中的应用Java多线程技术在网络通信系统中的应用Java多线程技术在网络通信系统中的应用Java多线程技术在网络通信系统中的应用Java多线程技术在网络通信系统中的应用Java多线程技术在网络通信系统中的应用Java多线程技术在网络通信系统中的应用Java多线程技术在网络通信系统中的应用> Java语言是由SUN公司开发的适合于分布式计算的新一代面向对象程序设计语言,它是一种新的概念。首先,作为一种程序设计语言,它简单,面向对象,不依赖于机器的结构,具有可移植性,健壮性,安全性,多线程并且提供了并发机制,具有很高的性
2、能。其次,它提供了强大和独特的网络通用机制和能力,极大简化了网络通信程序的繁琐细节,可不受CPU和环境的限制,Java已成为当今网络最好的开发语言。 一、Java多线程简介 将多线程机制蕴含在语言中,是Java的一个重要特征。所谓线程,是指程序中的一个执行流。在一个进程中,可以有多个线程。这些线程在操作系统的调度下并发执行,使得每个线程都好像在独占整个系统资源。而有了多线程这个特性,JAVA可以支持多个程序并发执行。利用Java的多线程编程接口,开发人员可以方便地写出支持多线程的应用程序,有效地减少并发并行程序设计的困难,提供程序执行效率。 1
3、.线程的创建 有两种方法可以创建线程。第一种方法是通过继承类Thread来创建线程类。子类重载其mn0方法。实现方法如下: classThieadNameextendsThread{ publicvoidrun(){//run是整个线程类代码的 入口 …//需要以线程方式运行的代码 }} 第二种方法是建立一个具有Runnable接口的类。由于Java不支持多继承性,如果需要类似线程方式运行且继承其他的类,就必须实现Runnable接口。Runnable接口只有一个方法run()。在类中实现此接口的方法如下: classThieadNa
4、meextendsAppletimplementsRunnable{ publicvoidrun(){ …//需要以线程方式运行的代码 }} 2.线程的调用 如果采用第一种方法,创建的线程类的调用格式如下:ThreadNametest=newThreadName();//test是线程类 ThreadName的一个实例test.start(); start()是线程类的成员函数,用于启动该线程,该线程将自动调用run()方法。 如果采用第二种方法,创建的线程类的调用格式如下: ThreadNametest=newThreadName
5、(); Threadth=newThiead(test);/组过Thread创建个新的线程 th.start() 3.线程的同步及通信 系统中存在多个线程时,就需要保证线程的同步及相互通信,以期协调工作,避免发生死锁。Java提供了二个标准的Object类方法wait(),notify()和notifyAll(),以及二个Thread类方法sleep()suspend()和resume(),用于中断或唤醒线程的执行。当线程调用sleep(),wait()或suspend()方法之后线程就会由可运行状态进入阻塞状态(blocked),一旦线程睡
6、眠时间到或者是其他线程调用了notify()或resume()方法后,此线程才会由阻塞状态进入可运行状态中,然而一个线程是否最终占有CPU,取决于系统的调度策略。Java1.0在solaris版本中实现的“绿色线程”的调用策略是让一个线程持续处于执行状态直到有一个更高优先级的线程将之打断,而Windows95和WindowsNT是给每一个处于可执行状态的线程分配一个时间片,当时间片用完时系统会调用另一个线程投入运行。 二、网间网的Socket通讯机制 TCP/IP技术的核心部分是传输层(TCP和UDP协议)、网络层(P协议)和物理层(面向各种物理
7、硬件技术),能实现这三层协议的内核可称之为tcp/ip网络操作系统。tcp/ip协议技术中的中下层协议向外提供的只是原始的编程界面,而不是直接的用户服务,用户服务要靠核外的应用程序实现。应用程序和tcp/ip核心协议关系如图2所示。 即网间网应用程序能够直接操作的是TCP/P核心协议提供的编程界面。由于网络中资源、运算能力和信息的差异,同时又由于网间网通信完全是异步的,因此,在基于TCP/P协议的网间网中,最主要的进程间相互作用模型是客户/服务器(client/server)模型。客户和服务器分别是两个应用程序(进程),客户向服务器发出服务请求,服
8、务器作出响应。 网间网进程通信的关键是要解决进程的标识和多传输协议的标识问题以及进程间相互作用的模式。在网
此文档下载收益归作者所有