1、线程优先级:线程优先级默认继承自它的父线程(A线程创建B线程,A就是B的父线程)。也可以用setPriority方法提高或者降低任何一个线程的优先级。
2、优先级的等级:优先级在MIN_PRIORITY(Thread中定义为1)~MAX_PRIORITY(定义为10)之间的任何值。NORM_PRIORITY为正常优先级,定义为5。
3、优先级的作用:调度器有机会选择新线程时,会优先选择优先级高的线程。程序功能的正确性不应依赖优先级的设置!
4、static void yield():将导致当前线程让步,即如果有其他可运行的具有至少与此线程 同样高的优先级时,这些线程或优于当前线程执行。
5、守护线程:假设t是一个Thread类的一个对象,t.SetDaemon(true)会将此线程转换为守护线程(注意:这一方法必须要在线程start之前被调用)。守护线程实际上就是.net里的后台线程。守护线程的唯一特别的作用是可以为其他线程提供后台服务。当只剩下守护线程时,虚拟机将会退出(因为全是后台现线程就没有必要运行程序了)。
2、优先级的等级:优先级在MIN_PRIORITY(Thread中定义为1)~MAX_PRIORITY(定义为10)之间的任何值。NORM_PRIORITY为正常优先级,定义为5。
3、优先级的作用:调度器有机会选择新线程时,会优先选择优先级高的线程。程序功能的正确性不应依赖优先级的设置!
4、static void yield():将导致当前线程让步,即如果有其他可运行的具有至少与此线程 同样高的优先级时,这些线程或优于当前线程执行。
5、守护线程:假设t是一个Thread类的一个对象,t.SetDaemon(true)会将此线程转换为守护线程(注意:这一方法必须要在线程start之前被调用)。守护线程实际上就是.net里的后台线程。守护线程的唯一特别的作用是可以为其他线程提供后台服务。当只剩下守护线程时,虚拟机将会退出(因为全是后台现线程就没有必要运行程序了)。
6、守护线程极其容易中断,所以不要使用守护线程直接操作持久化对象(如数据库、文件系统等)。
7、run方法不能throws异常(只能用try/catch即时处理异常),任何未被处理的异常都会导致线程死亡。
8、关于线程的未捕获异常处理器,暂时不理解。
7、run方法不能throws异常(只能用try/catch即时处理异常),任何未被处理的异常都会导致线程死亡。
8、关于线程的未捕获异常处理器,暂时不理解。