问题描述
现在我已经把java基础知识看了一遍,但还是不理解线程到底什么时候用,怎么用.请大家指点一下,多谢!(前提,我想往j2ee发展!)
解决方案
解决方案二:
Java平台从开始就被设计成为多线程环境。在你的主程序执行的时候,其它作业如碎片收集和事件处理则是在后台进行的。本质上,你可以认为这些作业是线程。它们正好是系统管理线程,但是无论如何,它们是线程。线程使你能够定义相互独立的作业,彼此之间互不干扰。系统将交换这些作业进或出CPU,这样(从外部看来)它们好象是同时运行的。 在你需要在你的程序中处理多个作业时,你也可以使用多个进程。这些进程可以是你自己创建的,你也可以操纵系统线程。 你进行这些多作业处理,要使用几个不同的类或接口: java.util.Timer类 javax.swing.Timer类 Thread类 Runnable接口 对于简单的作业,通常需要重复的,你可以使用java.util.Timer类告诉它“每半秒钟做一次”。注意:大多数系统例程是使用毫秒的。半秒钟是500毫秒
解决方案三:
简单的说,线程就是让程序可以同时(宏观上的)执行多个任务,
解决方案四:
楼上们的回答都是正确的。我多说句,可以这样理解,如果不用线程,那你的程序中多个任务只能顺序执行,一个任务不完成,下一个任务就不可能得到执行。但这就有一个问题,比喻说,我现在想导入一个很大文件到软件并加以分析,但短时间内这个任务难以完成。可是在这过程中,我又想利用软件干别的事情,显然这里就要用到线程了:用一个线程导入文件,其他的线程则完成用户另外的请求。
解决方案五:
楼上说的都很好。就算你对线程的概念理解不深也不影响你往j2ee发展。你可以往后继续学。等以后遇到问题,时间长了,接触多了,有时问题就会迎刃而解。不必为一个问题而卡在这里止步不前。往下走吧。一路顺风。。。
解决方案六:
线程自己不拥有系统资源,只拥有一点在运行中必不可少的资源,但它可与同属一个进程的其它线程共享进程所拥有的全部资源
解决方案七:
线程是进程中的一个实体,是被系统独立调度和分派的基本单位,线程自己不拥有系统资源,只拥有一点在运行中必不可少的资源,但它可与同属一个进程的其它线程共享进程所拥有的全部资源。一个线程可以创建和撤消另一个线程,同一进程中的多个线程之间可以并发执行。由于线程之间的相互制约,致使线程在运行中呈现出间断性。线程也有就绪、阻塞和运行三种基本状态。在单CPU系统中,系统把CPU的时间片按照调度算法分配给各个线程,因此各线程实际上是分时执行的,在多CPU的WindowsNT系统中,同一个程序的不同线程可以被分配到不同的CPU上去执行。由于一个程序的各线程是在相同的地址空间运行的,因此设及到了如何共享内存,如何通信等问题,这样便需要处理各线程之间的同步问题,这是多线程编程中的一个难点。
解决方案八:
线程没啥用。因为你不用它,它也在被使用。Java本来就是工作在多线程模式下,只要你在写Java程序,你的程序就是由多个线程组成的。Ok,知道线程有啥用了没?还不知道?第一句就已经告诉你了不是?线程没啥用。线程就和空气一样,没啥用。
解决方案九:
引用7楼mouyong的回复:
线程没啥用。因为你不用它,它也在被使用。Java本来就是工作在多线程模式下,只要你在写Java程序,你的程序就是由多个线程组成的。Ok,知道线程有啥用了没?还不知道?第一句就已经告诉你了不是?线程没啥用。线程就和空气一样,没啥用。
也不能说没啥用。我们写程序有时候要考虑到自己程序内部的多线程。比如关公战秦琼。关公每1秒种攻击一次,秦琼每1.5秒攻击一次。我们可以用线程实现:在关公攻击的时候把CPU让给关公,在秦琼攻击的时候把CPU让给秦琼。