基于Java多线程技术的网络编程研究

时间:2022-05-06 07:58:38

基于Java多线程技术的网络编程研究

摘 要

Java语言的基本运行依靠虚拟机,且要求虚拟机具备不同操作系统,因此,其运行过程具备跨多个平台的特征。能够用于屏蔽其他操作系统之间的差异。对于网络程序的编写而言,跨平台的特征是十分必要的。

【关键词】网络编程 多线程技术 Java

进行网络编程工作的主要目的是:以网络协议为基础,间接或者直接与不同计算机设备进行交流、通讯。当前,网络编程中存在以下两方面问题:

(1)找准主机能够稳定、安全地传输数据;

(2)是否能够确定网络中是一台主机或者多台主机。

计算机IP层(位于TCP/IP协议)的主要功能为定位网络中的主机,也是传输数据的路由器,通过IP地址能够直接明确互联网中的主机位置。同时,TCP层可提供数据的传输机制,属于网络变成对象,目前较为流行的网络编程模型是客户机/服务器结构。

1 具体与应用

当运行一个应用程序的时候,就启动了一个进程,当然有些会启动多个进程。启动进程的时候,操作系统会为进程分配资源,其中最主要的资源是内存空间,因为程序是在内存中运行的。在进程中,有些程序流程块是可以乱序执行的,并且这个代码块可以同时被多次执行。实际上,这样的代码块就是线程体。线程是进程中乱序执行的代码流程。当多个线程同时运行的时候,这样的执行模式成为并发执行。

2 Java多线程

线程的是java.lang.Thread类,在虚拟机启动之后,通常只有Java类的main方法这个普通线程运行,运行时可以创建和启动新的线程;守护线程(damon thread),守护线程在后台运行,提供程序运行时所需的服务。当虚拟机中运行的所有线程都是守护线程时,虚拟机终止运行。Java线程模型涉及可以动态更改的线程优先级。线程的优先级是从1到10之间的一个数字,数字越大表明的任务越紧急。JVM的标准需要先选用较高优先级的线程,再过渡到较低线程,因此,整个标准在处理相同级别的线程时通常采取随机原则,处理线程的关键因素为基层操作系统。

3 在Socket基础上低层次的Java编程

3.1 通讯

通常情况下,网络上的两个程序会有双向的通讯进行连接,以此来交换数据,Socket即为该双向链路的一端,它主要用来连接服务方与客户方。其次,它属于编程界面的一种,较为流行。一个Socket由一个端口号进行确定,具有唯一性。

以往的UNIX环境中,不仅仅只有Socket能够进行TCP/IP协议,Socket支持的协议种类较多,这两者之间不存在必要的相关性。Socket在Java环境下需要以TCP/IP协议作为基础。

3.2 创建线程分析及线程同步的情况

主要有两种方式,第一种是运用继承类的Thread的方式进行创建,其中的子类重载是run0方式,具体的实现方式如下所示:class Thead Name extends Thread,其中在线程中类的代码入口处是以线程的方式运行。而第二种方式是建立Runnable的接口类,因为在Java程序中不支持更多的继承性,所以为了能够通过线性方式更好地运行和继承其他的类,则需要通过Runnable的接口,而在Runnable中的接口则是能进过run0。

运用两个或者是两个以上的线程可以更好地分享资源,而在实际操作过程中就需要充分保障资源的共享性,因此,这就需要运用一定的方式充分确定资源情况,并能够结合当前线程被占用的情况来达到此目的,所以这一过程可以称之为同步。而在Java中,为了能够更好地实现这一不同的目标,则需要在占用程序中更好地保障线程处于被占用的对象中,这就需要借助于管程机制得以实现。在规定的时间中看,可以通过线程的方式而有效获得管程,当这个步骤能够通过同步的方式而实现返回目标时,此时的线程可以提升管理的效率。然而在Java中需要对每个对象都进行不同锁定,并结合每一个线程而组合一个集合,从而能够保证对象能够顺利生成。

4 TCP与UDP两类传输协议

在TCP/IP协议名称中虽然只存在TCP这一个协议名,但在这个传输层中却同时包含有TCP与UDP这两个协议,其中TCP是一种面向连接以保障传输可靠性的协议,TCP的全称为Tranfer Control Protocol,通过该协议,通常可以得到无差错的数据流,且是顺序的,能够在接收方和发送方这两个成对的socket之间建立连接,从而在TCP协议的基础上实现通信。UDP属于一种一种无连接的协议,其全称为User Datagram Protocol,能够在网络上以任何可能的路径传达到目的地,所以在这个过程中,传达目的地以及传达内容的准确性是无法得到保障的。由于TCP协议是一个面向连接的协议,所以往往在建立数据连接之前需要建立数据连接,从而会多出一个建立连接的时间,影响传输效率。

5 总结

总而言之,编程是被别创建的,可以归类到线程组中,为方便调试和监视,线程可以将它们归类到线程组中,在创建线程的同时将其与一个线程组进行关联,因而线程组组织线程在使用大量线程的程序时可能具有与非常重要的作用。

计算机网络主要是通过通信设施、传输介质以及网络通信协议,将地点分散的计算机设备进行互联,从而实现数据传输系统和资源共享,而网络编程通过程序的编写能够实现设备之间的数据传输,其中Java语言通过其提供的接口能够为网络编程提供极大方便。

参考文献

[1]徐凯.Java多线程技术的网络编程探究[J].电脑知识与技术,2015,12(03).

[2]李玉君,陈莉莉.浅析Java多线程技术在网络通信中的应用研究[J].电子技术与工程软件,2016,06(22).

[3]申时全.Java多线程技术的网络并发编程及应用研究[J].现代计算机(专业版),2016,11(06).

上一篇:新时期小学班主任德育工作的有效途径分析 下一篇:基于虚拟桌面的高校多媒体教室设计