创建线程
你的程序至少有一个线程当程序开始执行时建立这个线程在程序中这个线程从main()开始在小应用程序中浏览器是主要线程当你的程序建立了一个线程它是除了创建它的线程之外附加的又一线程你可能已猜到创建一个附加线程包括使用一个类对象你使用的类是javalangThread一个Thread类或Thread的子类的对象代表你的程序创建的每个附加线程如果你的程序有二个附加线程你需要建立三个这样的对象
为了启动一个线程的执行你需要对Thread对象调用start()方法在一个新线程中执行的代码总是一个被称为run()的方法它是一个public的方法不接受参数并且没有返回值程序中除了主线程外的其他线程由代表线程的对象调用run()方法启动创建了二个线程的程序被图解说明如下
为了让程序中代表一个线程的类能做任何事必须实现run()方法作为在Thread类中定义的没做任何事的版本在run()方法的实现中可以调用想要的任何其他方法我们的图解展示了main()创建所有三个线程实际上不一定如此任何一个线程可以创建多个线程
注意你不必调用run()方法启动一个线程你需要对代表线程的对象调用Stop()方法并且导致调用run()方法当你想停止执行一个正运行的线程时你对Thread对象调用stop()方法
你可以有两种方法定义一个代表线程的类一种方法是作为Thread的子类定义你的类并且提供一个run()方法的定义重载继承来的方法另一种可能性是定义你的类实现Runahle接口该接口声明run()方法然后当你需要时在你的类中创建一个Thread对象我们将更细致地关注并研究每种方法的优点
[] [] [] [] [] [] [] []