java中的多线程入门

     进程:一个进程包括由操作系统分配的内存空间,包含一个或多个线程。一个线程不能独立的存在,它必须是进程的一部分。一个进程一直运行,直到所有的非守护线程都结束运行后才能结束。

      而多线程的好处就是效率高,充分利用 CPU 。

       多线程最简单的使用就是使用 new 关键字和 Thread 类或其子类建立一个线程对象后,该线程对象就处于新建状态。它保持这个状态直到程序 start() 这个线程。

当线程对象调用了start()方法之后,该线程就进入就绪状态。就绪状态的线程处于就绪队列中,要等待JVM里线程调度器的调度。

如果就绪状态的线程获取 CPU 资源,就可以执行 run(),此时线程便处于运行状态。处于运行状态的线程最为复杂,它可以变为阻塞状态、就绪状态和死亡状态。

如果一个线程执行了sleep(睡眠)、suspend(挂起)等方法,失去所占用资源之后,该线程就从运行状态进入阻塞状态。在睡眠时间已到或获得设备资源后可以重新进入就绪状态。

Java 提供了2种创建线程的方法:

1.通过实现 Runnable 接口;

2.通过继承 Thread 类本身;

1,2点的区别在于runable是一个接口,而thread是一个类。java的规则是只能有一个父类,所以当有父类的时候只能用1.

为了实现 Runnable,一个类只需要执行一个方法调用 run(),声明如下:

 public void run()

下面是一些类里经常使用的方法

 public void start()   使该线程开始执行;Java 虚拟机调用该线程的 run 方法。

public void run()     如果该线程是使用独立的 Runnable 运行对象构造的,则调用该 Runnable 对象的 run 方法;否则,该方法不执行任何操作并返回。

public final void setName(String name)    改变线程名称,使之与参数 name 相同。

public final void setPriority(int priority)    更改线程的优先级。

public void interrupt()   中断线程。

猜你喜欢

转载自www.cnblogs.com/zhc8016/p/10617268.html
今日推荐