![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
操作系统
操作系统相关知识
matilda_art
这个作者很懒,什么都没留下…
展开
-
多线程:Synchronized-volatile关键字
Synchronized关键字1、关于Synchronized的语法public class SynchronizedSyntaxDemo { /** * 修饰方法:同步方法 */ //普通方式 public synchronized void method() { } //等同于 普通方法() { sync(this) {} } //静态方法 public static synchronized void static原创 2020-06-27 16:32:33 · 108 阅读 · 0 评论 -
线程的状态转换和安全。
一、线程状态状态: 表示线程所处的一个情况。为什么需要状态: 管理线程,就需要先了解线程所处的状态。1、线程中的状态:JDK中通过枚举来描述(enum)线程状态共分为:NEW,RUNNABLE,BLOCKED,TIMED_WAITING,WEITING和TERMANITED2、线程状态转换图:由线程状态转换图可知,线程中的 isAlive()方法,可以认为是处于不是 NEW 和 TERMINITED 的状态都是活着的。二、线程安全1、线程不安全public class ThreadUn原创 2020-06-27 16:24:14 · 118 阅读 · 0 评论 -
进程与线程。
进程对于操作系统来说,一个任务就是一个进程。课本概念:程序的一个执行实例,正在执行的程序等。内核观点:担当分配系统资源(CPU时间,内存)的实体。进程是一个具有一定独立功能的程序在一个数据集上的一次动态执行的过程,是操作系统进行资源分配和调度的一个独立单位,是应用程序运行的载体。进程是一种抽象的概念,从来没有统一的标准定义。进程一般由程序、数据集合和进程控制块三部分组成。程序用于描述进程要完成的功能,是控制进程执行的指令集;数据集合是程序在执行时所需要的数据和工作区;程序控制块(Program原创 2020-06-14 17:19:34 · 476 阅读 · 0 评论 -
高阶多线程
常见的锁策略1.乐观锁与悲观锁乐观锁乐观锁假设认为数据一般不会产生并发冲突,所以在数据进行提交的时候,才会正式对数据是否产生并发冲突进行检测,如果发生并发冲突了,就返回错误信息,让程序员决定怎么去做。换言之:保持乐观心态,认为在大多数情况下,同一个时间点,只有一个线程执行修改操作。但并不能解决所有问题,所以会引入一定的系统复杂度。乐观锁一般适用于写比较少的场景(多读场景)乐观锁一般是使用版本号机制或者CAS算法实现。悲观锁悲观锁总是设想最坏的情况,每次去拿数据的时候都认为别人会修改,原创 2020-08-13 23:29:04 · 145 阅读 · 0 评论