是进程中的一个实体,是被系统独立调度和分派的基本单位,线程自己不拥有系统资源,只拥有一点在运行中必不可少的资源,但它可与同属一个进程的其它现成共享进程所拥有的全部资源,即它只能用不大于自己从属进程所拥有的资源。一个线程可以创建和撤消另一个线程,同一进程中的多个线程之间可以并发执行。由于线程之间的相互制约,致使线程在运行中呈现出间断性。线程也有就绪、阻塞和运行三种基本状态。
线程和 Java 语言
为了使用 Java 语言创建线程,你可以生成一个
Thread
类(或其子类)的对象,并给这个对象发送 start()
消息。(程序可以向任何一个派生自 Runnable
接口的类对象发送 start()
消息。)每个线程动作的定义包含在该线程对象的 run()
方法中。run 方法就相当于传统程序中的 main()
方法;线程会持续运行,直到 run()
返回为止,此时该线程便死了。对于线程的一次执行,现在可以这么理解,这种运行是一次性的,就像一个函数一样,一旦执行完毕,线程即消亡,不可重复运行。那么线程相对函数有什么优势呢?线程本身是为了并行而生,这就是它存在的意义,而且它也提供了暂停功能,这是函数不能代替的。