⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 threadtest.java

📁 java learn PPT java learn PPT java learn PPT java learn PPT
💻 JAVA
字号:
     // 计算并打印Fibonacci数列的Thread 
     class Fibonacci extends Thread
     {
          // 在更新前等待的最短时间 
          private static final long WAIT_TIME = 500;

          // 数列中的前一个数 
          private long previous;

          // 数列中的当前数值 
          private long current;

          // 这个数列的标记
          private char ident;

          // 构造一个新的Fibonacci数列 
          public Fibonacci(char id)
          {     
               // 为这个数列设置一个标志
               ident = id;

               // 初始化数列中的前2个数
               previous = 1;
               current = 1;
          }

          // 打印数列中的下一个数 
          private void printNext()
          {     
               System.out.print("(" + ident + ") " + current + ", ");
          }
 
          // 计算数列中的下一个数;它是数列中前2个数的和 
          private void update()
          { 
               long temp = current;
               current = previous + current;
               previous = temp;
          }

          // 线程的执行代码;这个方法是从Thread类继承而来的 
          public void run()
          {
               // 打印数列中的前两个数字
               printNext();
               printNext();

               // 得到这个线程的引用
               Thread t = Thread.currentThread();
      
               // 循环,直到线程激活
               while(t == this)
               {
                    // 更新数列
                    update();
                    
                    // 只要当前的数列值超过了最大的long型数值,它就会截断为负数
                    // 只要当前值为负数就终止这个线程的执行
                    if(current < 0L)
                    {
                         System.out.println("\nNo more long values! " +
                                            "Thread terminating...");
                         t = null;
                         return; 
                    }

                    // 打印下一个Fibonacci数
                    printNext();

                    // 暂停一会                  
                    try
                    {
                         Thread.sleep(WAIT_TIME);
                    }

                    catch(InterruptedException e) { }
               }     
          }    // run
     }

     // 创建一个新的Fibonacci数列产生器来测试多线程应用程序
     public class ThreadTest
     {
          public static void main(String[] args)
          {
               // 启动几个Fibonacci 线程
               new Fibonacci('A').start();
               new Fibonacci('B').start();
               new Fibonacci('C').start();
          }
     }

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -