1,程序和进程的区别
程序是一个固定的逻辑和数据的集合,是一个静止的状态,一般存储在硬盘上。
进程是一个正在运行的程序,是一个动作的状态,一般在内存中。
2.进程和线程
进程是一个正在运行的程序,有自己独立的资源分配。
线程是一条独立的执行路径,在执行某个程序的时候,该程序可以有很多的子任务,每个线程都可以独立的完成其中一个任务。
进程是分配资源的单位,线程不会独立的分配资源,一个进程中的所有线程共享一个进程中的所有资源。
3.并发和并行
并行:多个任务(线程、进程)同时进行,需要有多个cpu,多核编程。
并发:多个任务同时发起,不能同时执行。
4.多线程的两种实现方式
(1)定义一个类继承Thread,重写run方法中的内容,创建这个类的对象,调用start方法,开启线程。
此方法的实现比较简单,但是扩展性差,耦合性高,灵活性差
(2)定义一个类实现Runnable接口,写run方法中的内容,创建这个类的对象用作任务,再调用Thread类的对象,添加任务,调用start方法,开启线程。
此方法的实现比较复杂,但是扩展性强,耦合性第,灵活性强。
并且将来还可以将任务类对象,提交到线程池中运行;任务类对象可以被不同线程运行,方便进行线程之间的数据交互。
原文:https://www.cnblogs.com/seaWaveQin/p/13347542.html