JAVA多线程的问题以及处理【转】 (5)

在该示例程序,PrintNumberThread线程实现的功能是输出数字,每次数字输出之间没有设置时间延迟,在测试类TestPriority中创建三个PrintNumberThread类型的线程对象,然后分别设置线程优先级是最高、普通和最低,接着启动线程执行程序。从执行结果可以看出高优先级的线程获得了更多的执行时间,首先执行完成,而低优先级的线程由于优先级较低,所以最后一个执行结束。

其实,对于线程优先级的管理主要由系统的线程调度实现,较高优先级的线程优先执行,所以可以通过设置线程的优先级影响线程的执行。

12.5 总结

         关于多线程的基础知识就介绍这么多,在本章中介绍了线程的概念、线程的实现方式以及使用多线程时会遇到的问题以及解决办法,而需要建立多线程的概念,也就是并发编程的概念还需要进行比较多的练习,理解多线程的概念并熟悉多线程的编程。

而关于多线程编程的高级知识,如线程组等则可以在熟悉了线程的基本概念以后再进行更加深入的学习。

12.6 多线程练习

1、分别使用多线程的3种实现方法,实现一个打印奇数的线程

2、分别使用多线程的3种实现方法,实现一个打印1-10000之间素数(质数)的线程

3、在练习1、练习2的基础上,加入控制台输入,当线程执行时,输入quit或exit结束线程和程序的执行。

4、实现两个线程,一个打印奇数,一个打印偶数,每个线程的延迟时间不一样,实现奇数和偶数的交替打印。

5、模拟火车票联网售票系统:多个线程同时出票,保证每张出票的编号连续且不重复。

PS:这是来自陈跃峰等人的《Java编程那些事儿》这本书里面的章节。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zzpdfd.html