Java基础-进程与线程之Thread类详解

                                          作者:尹正杰

版权声明:原创作品,谢绝转载!否则将追究法律责任。

 

 

 

一.进程与线程的区别

  简而言之:一个程序运行后至少有一个进程,一个进程中可以包含多个线程。线程是程序执行任务的最小单位。

1>.进程的概念:

  进程指正在运行的程序。确切的来说,当一个程序进入内存运行,即变成一个进程,进程是处于运行过程中的程序,并且具有一定独立功能。

2>.线程的概念:

  线程是进程中的一个执行单元,负责当前进程中程序的执行,一个进程中至少有一个线程。一个进程中是可以有多个线程的,这个应用程序也可以称之为多线程程序。

 

二.程序运行原理

1>.分时调度

  所有线程轮流使用 CPU 的使用权,平均分配每个线程占用 CPU 的时间。

2>.抢占式调度

  优先让优先级高的线程使用 CPU,如果线程的优先级相同,那么会随机选择一个(线程随机性),Java使用的为抢占式调度。

 

三.Thread类介绍

  该如何创建线程呢?通过API中搜索,查到Thread类。通过阅读Thread类中的描述。Thread是程序中的执行线程。Java 虚拟机允许应用程序并发地运行多个执行线程

 Java基础-进程与线程之Thread类详解

继续阅读,发现创建新执行线程有两种方法。

  1>.一种方法是将类声明为 Thread 的子类。该子类应重写 Thread 类的 run 方法。创建对象,开启线程。run方法相当于其他线程的main方法。

  2>.另一种方法是声明一个实现 Runnable 接口的类。该类然后实现 run 方法。然后创建Runnable的子类对象,传入到某个线程的构造方法中,开启线程。

  其实,还有第三种创建线程的方式,就是通过线程池的方式(实现Callable接口方式),本篇博客会有相应的案例。

 

四.实现线程程序继承Thread

1>.线程执行的随机性

  创建线程的步骤:  

    a>.定义一个类基础Thread;

    b>.重写run方法;

    c>.创建子类对象,就是创建线程对象;

    d>.调用start方法,开启线程并让线程执行,同时还会告诉JVM去调用run方法;

 1 /*
 2 @author :yinzhengjie
 3 Blog:http://www.cnblogs.com/yinzhengjie/tag/Java%E5%9F%BA%E7%A1%80/
 4 EMAIL:y1053419035@qq.com
 5 */
 6 
 7 package cn.org.yinzhengjie.note;
 8 
 9 public class MyThread extends Thread{
10     @Override
11     public void run() {
12         for(int i = 0; i < 5 ;i++) {
13             System.out.println("Run..."+i);
14         }
15     }
16 }
MyThread.java 文件内容

相关文章:

  • 2022-12-23
  • 2021-06-03
  • 2022-12-23
  • 2021-10-29
  • 2021-11-23
  • 2021-09-20
  • 2022-01-08
  • 2021-07-24
猜你喜欢
  • 2021-08-11
  • 2022-12-23
  • 2021-04-24
  • 2021-06-30
  • 2022-12-23
  • 2021-08-02
  • 2022-12-23
相关资源
相似解决方案