java+oracle+web(第九天) java 基础课程(四) 多线程其他小知识 终止、守护、等待

本文深入探讨了多线程编程的核心概念,包括线程的创建、终止、守护线程的特点及其应用,同时介绍了线程间的同步机制、优先级调整、CPU执行权的分配与获取,以及多线程编程的最佳实践场景。通过实例展示了如何高效利用多线程提升程序性能,特别关注了在游戏开发、计算密集型任务中的实际应用。

0603

终止线程

T1.Interrupt()

在异常中处理中终止while循环即可。

守护线程

T1.setDaemon(ture)//设置守护线程,在线程启动之前调用。

T1.start();

守护线程特点:当前台线程全部结束后,守护线程自动结束、程序自动结束。依赖前台线程而存在。

应用:比如计算线程依赖输入线程提供的数据,当输入线程终止后,计算线程自动终止。

获取cpu执行权jion().

T1.start();

T1.jion();//t1获取了执行权,一直等待这个线程运算结束。然后其他线程才会被唤醒。

 

如果:

T1.start();

T2.start();

T1.jion();//t1加入t2的运算,主线程会一直等待t1结束后,才开始运算。至于t2有没有结束,则主线程不关心。

线程优先级 toString()方法,yield()临时释放执行权。稍微减缓。

线程名称、优先级、线程所属组;

优先级:1 – 10;

 

什么时候要写多线程:

1、 某一个代码块需要长时间占用CPU,比如超级大的循环体,一共有三个并列,则需要考虑多线程,否则其他的循环无法有机会执行,或者执行效率很低。

2、 游戏开发的时候。

3、 匿名内部类,快速写法一:

New Thread()

{

        Publicvoid run()

{

        For(){}

}

}.start();

快速写法二:

Runnable  r = new Runnable()

{

        Publicvoid run()

        {

               For(){}

}

};

New Threaed(r).start();

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值