浅谈SwingWorker类在Java多线程开发中的应用
作者:涂焱楚
来源:《科学与信息化》2020年第19期
java核心技术有哪些作者:涂焱楚
来源:《科学与信息化》2020年第19期
摘 要 SwingWorker类是Java语言JDK中Swing包的一个类,主要用来在GUI程序中实现耗时的工作任务线程。但我们在非GUI程序的普通程序中也可使用来实现普通多线程程序,简单方便功能更强。
关键词 SwingWorker;多线程;Java
引言
在计算机系统中,进程是指程序的一次动态执行过程。程序是指令、数据及其组织形式的描述,进程则是程序运行时的实体,也是操作系统进行资源分配的基本单位。多进程操作系统支持多个进程的同时运行。线程是比进程更小的执行单位,是进程的基础之上进一步的划分,是进程中执行运算的最小单位,亦是操作系统调度运行的基本单位。线程和进程一样,也是实现并发的一个基本单位。所谓多线程是指一个进程在执行过程中可以产生多个更小的程序单元,也即是线程,这些线程同时存在,同时运行。可以说,多线程在较低的层次上扩展了多任务的概念,但是与进程相比较,线程更轻量级,创建、撤销一个线程比启动一个新进程的开销要小得多。进程和线程在现在的主流操作系统中都得到了较好的支持。在实际应用中,多线程非常有用,Java语言很早就对多线程程序的开发提供支持。
1 在Java中使用多线程的一般方式
Java语言中很早就实现了对多线程编程的支持。目前,Java中实现多线程编程的方式流行的主要有两种,一种是继承Thread 类,另一种是实现 Runnable 接口。其中通过继承
Thread 类创建线程,存在的一个局限就是不能多继承了。所以很多资料都推荐采用实现 Runnable 接口的方式。需要说明的是,这两种方式在工作时的性质都是一样的,并没有本质的区别。它们都要通过实现run()方法来完成线程的基本任务,调用Thread类的start()方法来启动线程。另外,这两种方式实现的线程执行完后都不能简单方便地返回执行的结果[1]。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论