Java

【多线程】——1.线程基础

2020-03-29  本文已影响0人  衰煋


进程

用来对应一个应用程序,每一个进程对应一定的内存地址空间,每个进程都有自己的内存空间,不同的进程运行时不会相互干扰

进程的缺点

进程做事情的时候,里面有很多子任务,只能逐个的去执行子任务

线程的诞生

为了将进程中的子任务分开执行,让一个线程执行一个子任务,这样一个进程就会拥有多个线程,每个线程负责一个独立的子任务。

进程让操作系统的并发性成为可能

线程让进程内部并发成为可能

一个进程虽然包括多个线程,但是这些线程是共同享有进程的资源和地址空间

进程是操作系统进行资源分配的基本单位

线程是操作系统进行调度的基本单位

多线程会遇到的核心问题,如果多个线程要同时访问某个资源,要怎么处理?

代表一个线程使用某个共享内存时,其他线程必须等它结束,才能使用这一块内存。

互斥锁

防止多个线程同时读写某一内存区域

信号量

某些内存区域,只能给固定数目的线程使用。叫做信号量。锁是信号量=1的特殊情况。

总结

多进程形式,允许多个任务同时运行

多线程方式,每个任务分成不同的子任务部分运行

上一篇 下一篇

猜你喜欢

热点阅读