Java-多线程第一篇多线程相关认识(1)

1、单线程进程

    如果程序执行某行代码时遇到了阻塞,则程序将会停滞在该处。

2、进程代表着一个程序,程序是静态的,进程是动态的程序。

     进程是系统进行资源分配和调度的一个独立单位。关于进程有如下3个特征:

       1》独立性:进程是系统中独立存在的实体,它可以拥有自己独立的资源,每一个进程都拥有自己私有的地址空间。进程之间不能随意访问。

       2》动态性:程序是静态的指令集合,而进程是一个动态的指令集合。进程加了时间的观念。进程具有自己的生命周期和各种不同的状态。

       3》并发性:多个进程可以在单个处理器上并发执行,多个进程之间不会相互影响。

     并发性:同一时刻只能有一个指令执行,但多个进程指令被快速轮换执行,宏观上表现为多个进程同时执行。

     并行性:同一时刻,多条指令在多个处理器上同时执行。

3、线程的特点。

     线程可以拥有自己的堆栈、自己的程序计数器和自己的局部变量,但不拥有系统资源,它与父进程的其他线程共享该进程所拥有的的全部资源。

     线程的执行时抢占式的。

     一个线程可以创建和撤销另一个线程,同一个进程中的多个线程之间可以并发执行。

     线程共享的环境包括:进程代码段、进程的公有数据等。

4、多线程的优点:

     1》进程之间不能共享内存,但线程之间共享内存非常容易。

     2》系统创建进程时需要为该进程重新分配系统资源,但创建线程则代价小得多,因此使用多线程来实现多任务并发比多进程的效率高。

     3》Java语言内置了多线程功能支持,而不是单纯地作为底层操作,从而简化了Java多线程编程。

posted @ 2019-08-15 17:18  ZeroMZ  阅读(114)  评论(0编辑  收藏  举报