1.简述程序、进程和线程之间的关系?什么是多线程程序?
程序:程序就是一段代码,一组指令的集合,不能单独运行,需要将其加载到内存中,系统为他分配资源后才能执行(,运行时就相当于一个进程。静态的实体)
进程:进程就是系统分配资源调用的一个独立单位。是程序的一次动态执行,从加载到执行到执行完毕是一个完整的过程,并且有自己的生命周期。(动态的实体)
线程:线程依赖于进程存在,一个线程相当于进程的某个任务。
多线程程序:
一个程序运行时(进程)产生了不止一个线程,执行的路径有多条,就叫多线程
2 .什么是线程调度?Java的线程调度采用什么策略?
线程调度:
对处于可运行状态的多个线程对象进行系统级的协调,防止多个线程争用有限资源而导致系统死机或者崩溃
java的线程调度采用的策略: 抢占式调度
java 的调度策略是基于线程优先级的抢先式调度。意思就是,谁的优先级高那我就先给谁使用系统资源。
3 . 如何在Java程序中实现多线程?
Java中实现多线程有两种方式,
1)定义一个类继承自Thread类,重写run方法,然后创建这个类的对象,然后通过对象调用start方法启动线程。
2)定义一个类实现Runnable接口,重写run方法,然后创建一个这个类的子类对象,然后建Thread类的对象,将子类对象作为参数进行传递,然后通过start方法启动线程。