11.3.3 程序实例

11.3.3 程序实例

【例11-2】通过实现Runnable接口进行多线程程序设计示例。

要求:设计一个程序RunnableDemo.java,分别建立ta和tb线程,ta每隔100ms输出“Java”,tb每隔100ms输出“C++”,每个线程执行run()方法10次。

RunnableDemo.java程序代码如下

img459

【程序说明】

程序RunnableDemo.java安装Runnable接口,第20~21两行建立两个RunnableDemo类的Runnable对象ta和tb,ta对象的字符串为“aaa”,暂停时间为100毫秒,tb对象的字符串为“bbb”,暂停时间为200毫秒;第22,23行分别建立相应的Thread(ta)和Thread(tb)线程并启动。因ta休息100毫秒,而tb休息200毫秒,是ta线程的两倍,因此显示两个“aaa”才显示一个“bbb”。在RunnableDemo中也安装一个计数器count,方法同ThreadDemo。

程序运行结果如下:

img460

【例11-3】通过Runnable接口实现多个记数线程的程序实例。程序如下:

img461

img462

img463

【程序说明】参见程序中注释。程序运行结果如图11-2所示。

img464

图11-2 例11-3程序运行结果图