Java多线程编程初步 - 编程入门网
yThread.MIN_PRIORITY 这样的表达式来设置线程的优先级稍后会在例程中用到。也可以通过getPriority来得到线程的优先级,还可以通过setPriority在线程创建之后的任意时间改变线程的优先级。
提示:当线程中的代码创建一个新线程对象时,这个新线程拥有与创建它的线程一样的优先级。 线程的管理 单线程的程序都有一个main执行体,它运行一些代码,当程序结束执行后,程序结束运行。在Java中我们要得到相同的应答,必须稍微进行改动。只有当所有的线程退出后,程序才能结束。只要有一个线程一直在运行,程序就无法退出。 线程包括new()开始、running()运行、wait()等候和done结束执行状态。第一次创建线程时,都位于new状态,在这个状态下,不能运行线程,只能等待。这时,线程要么调用start方法开始运行,要么送往done状态结束。位于done中的线程已经结束执行,这是线程的最后一个状态。一旦线程位于这个状态,就不能再次出现,而且当Java虚拟机中的所有线程都位于done状态时,程序就强行中止。 当前正在执行的所有线程都位于running状态,在程序之间用某种方法把处理器的执行时间分成时间片。位于running状态的每个线程都是能运行的,但在一个给定的时间内,每个系统处理器只能运行一个线程。与位于running状态的线程不同,由于某种原因,可以把已经位于waiting状态的线程从一组可执行线程中删除。如果线程的执行被中断,就回到waiting状态。这时,线程可能被挂起,在系统资源上等候,或者被告知进入休眠状态Sleep。该状态的线程可以返回到running状态,也能由stop送入done状态。Thread类提供了Sleep()、Stop、Yield()、Suspend()和Resume()等方法来管理线程。 线程操作的其它概念 通过这期两个程序的学习,可能你会认为Java的线程操作很简单,但实事并非如此。在实际工作中,可能需要综合考虑很多问题,比如设置监控线程、暂停、命名和协调线程、设置线程的优先级、共享变量、线程同步、线程池、线程组等。对于这些线程相关的操作,笔者不在本章中详细讲述了。如果读者有兴趣,可参考相应的专著,毕竟这部分不是一两篇文章可以完全讲解完的。 |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |