一般 需要独立运行某个东西的时候会用到线程
我用过的就是 端口监听的时候
比如说 你的程序在200端口上 设置另一个监听,当有数据通过这个端口传输的时候 就会被监听程序所获取 但是如何保证 实时监听?这个就需要有个线程独立的 来执行这个工作 保持监听的状态。
再比如说 你需要做一个任务处理的程序 当数据库中有新任务时候就进行处理/或者XX路径下出现新的文件 就进行处理,这个时候 也需要用到线程 来实时扫描数据库或者是文件路径,来保证任务能够得到及时的处理
线程是指程序的一个指令执行序列,WIN32 平台支持多线程程序,允许程序中存在多个线程。 在单 CPU 系统中,系统把 CPU 的时间片按照调度算法分配给各个线程,因此各线程实际
上是分时执行的,在多 CPU 的 Windows NT 系统中, 同一个程序的不同线程可以被分配到不
同的 CPU 上去执行。由于一个程序的各线程是在相同的地址空间运行的,因此设及到了如何共
享内存, 如何进行线程通信等问题,这样便需要处理各线程之间的同步问题,这是多线程编程
中的一个难点。
线程是程序中一个单一的顺序控制流程.
在单个程序中同时运行多个线程完成不同的工作,称为多线程.
线程和进程的区别在于,子进程和父进程有不同的代码和数据空间,而多个线程则共享数据空间,每个线程有自己的执行堆栈和程序计数器为其执行上下文.
多线程主要是为了节约CPU时间,发挥利用,根据具体情况而定.
服务端,当然是服务器,必须支持多线程。客户端连接到服务端,就是服务端多了一个线程
对用户来说,无论何时使用线程都能够给他们带来更加愉快的体验。这就是说,任何时候将那些可能会停滞或是消耗很长时间的代码放在一个独立的线程中运行,会使用户觉得你的游戏并没有停滞下来。
举例来说,你应该在下述情况下使用线程:
1. 当你需要从文件系统中读取大量的文件时
2. 当做任何网络通讯的操作时,比如将分数上传到服务器
3. 当作庞大的计算时,比如生成地图时
//讲的不好的地方请高手们指点,以促进我们的提高,谢谢
使用线程让你觉得结构很自然的时候就用。
看起来是不是飘忽了点?呵呵。类似的例子有
1. 同时响应多客户要求
2. 需要几个任务交互
3. 需要后台进程
4. 需要提高界面响应
换句话说 - 当你觉得在自己的程序里管理几个不同的任务的时候很麻烦的时候,就应该想到让JVM来帮你管理,而你只处理任务之间的互动。
这就是线程。
一般做web开发用到的线程都是被框架封装好了的,例如struts,这个框架接收一个请求便启动一个线程,还有很多优秀的框架用到了多线程都会封装好,你感觉不到多线程的存在。
如果你要做多线程的J2SE程序,可以会用到底层的多线程接口和类,多线程不是想象的那么难,要看需求,多了解一下OS会对你有帮助。