打字猴:1.700449605e+09
1700449605 编写高质量代码:改善Java程序的151个建议 [:1700438194]
1700449606 编写高质量代码:改善Java程序的151个建议 建议119:启动线程前stop方法是不可靠的
1700449607
1700449608 有这样一个案例,我们需要一个高效率的垃圾邮件制造机,也就是需要有尽可能多的线程来尽可能多地制造垃圾邮件,垃圾邮件需要的信息保存在数据库中,如收件地址、混淆后的标题、反垃圾处理后的内容等,垃圾制造机的作用就是从数据库中读取这些信息,判断是否符合条件(如收件地址必须包含@符号、标题不能为空等),然后转换成一份真实的邮件发送出去。
1700449609
1700449610 整个应用逻辑很简单,这必然是一个多线程的应用,垃圾邮件制造机需要继承Thread类,代码如下:
1700449611
1700449612 //垃圾邮件制造机
1700449613
1700449614 class SpamMachine extends Thread{
1700449615
1700449616 @Override
1700449617
1700449618 public void run(){
1700449619
1700449620 //制造垃圾邮件
1700449621
1700449622 System.out.println(“制造大量垃圾邮件……”);
1700449623
1700449624 }
1700449625
1700449626 }
1700449627
1700449628 在客户端代码中需要发挥计算机的最大潜能来制造邮件,也就是说开尽量多的线程,这里我们使用一个while循环来处理,代码如下:
1700449629
1700449630 public static void main(String[]args){
1700449631
1700449632 //不分昼夜地制造垃圾邮件
1700449633
1700449634 while(true){
1700449635
1700449636 //多线程多个垃圾邮件制造机
1700449637
1700449638 SpamMachine sm=new SpamMachine();
1700449639
1700449640 //条件判断,不符合条件就设置该线程不可执行
1700449641
1700449642 if(!false){
1700449643
1700449644 sm.stop();
1700449645
1700449646 }
1700449647
1700449648 //如果线程是stop状态,则不会启动
1700449649
1700449650 sm.start();
1700449651
1700449652 }
1700449653
1700449654 }
[ 上一页 ]  [ :1.700449605e+09 ]  [ 下一页 ]