如果你曾经用过windows的任务管理器,就算是没有学习过windows的内核你也应该有听说过“进程优先级“这么一个概念。虽然你可能没有操作过,但是你很有可能在任务管理器里面见过它。今天稍微讲一下Windows的进程优先级以及线程优先级。 Windows是一个抢断式多线程操作系统,在并发的处理的时候 ...
分类:
编程语言 时间:
2020-04-26 16:59:57
阅读次数:
85
第二单元的主要内容为电梯的优化控制。在本单元中,我们学习了 Java 的多线程操作,了解了多线程同步控制的方法。同时,对电梯的控制算法有了初步的了解。 多线程同步策略 在本单元中,为了提高性能,以及减少多线程控制时可能出现的死锁 bug,我采用了“尽量减少锁”的策略。在这个策略下,我将“加锁的对象” ...
分类:
其他好文 时间:
2020-04-18 11:33:33
阅读次数:
61
1 CAS 什么是CAS? CAS(Compare And Swap),即比较并交换。是解决多线程并行情况下使用锁造成性能损耗的一种机制,CAS操作包含三个操 作数——内存位置(V)、预期原值(A)和新值(B)。如果内存位置的值与预期原值相匹配,那么处理器会自动将该位置值更新 为新值。否则,处理器不 ...
分类:
其他好文 时间:
2020-03-26 21:55:27
阅读次数:
87
String类(不可变字符序列): String 字符串不可改,方法里加了private/final String类实现的是CharSequence接口 String类的一些常用方法: indexOf():返回指定字符的索引 charAt():返回指定索引处的字符 replace():字符串替换 t ...
分类:
其他好文 时间:
2020-03-18 21:47:45
阅读次数:
60
volatile关键字可以说是Java虚拟机提供的最轻量级的同步机制,但是它并不容易完全被正确、完整地理解,以至于许多程序员都习惯不去使用它,遇到需要处理多线程数据竞争问题的时候一律使用synchronized来进行同步。了解volatile变量的语义对了解多线程操作的其他特性很有意义,在本文中我们 ...
分类:
编程语言 时间:
2020-03-09 13:23:19
阅读次数:
73
1. Spring 单例Bean的线程安全问题 单例bean存在线程安全问题,当多线程操作成员变量时会有冲突发生,如果定义在方法入参处那样在栈中则不会。避免使用成员变量或推荐使用ThreadLocal成员变量拉 Bean的生命周期 预先知识 其实在学习Spring时就有接触,没有使用就很容易忘记,见 ...
分类:
其他好文 时间:
2020-03-06 23:49:26
阅读次数:
59
HashMap的结构和底层实现原理是什么? HashMap用的是非常常见的结构:数组和链表的结合的数据结构。数组的每个地方都存了Key-Value这样的实例,在JDK8中交做Node实例。因为数组本身所有的位置都为null,所以在put的时候会根据key值hash算出一个index值。但是数组的长度 ...
分类:
其他好文 时间:
2020-03-01 12:41:52
阅读次数:
92
QT的线程开启方式有俩种方法 方法一: 1.派生QThread类,重写父类的run函数.派生对象调用strat()函数; 二方法: 1.派生出一个QObject的子类,再创建一个QThread对象; 2.把需要在线程运行的函数写在QObject的子类的槽中; 3通过QObject的子类的对象move ...
分类:
编程语言 时间:
2020-01-22 14:48:49
阅读次数:
122
问题的引出 在java语言中,我们常常会用到多线程相关的操作,但是多线程操作中可能会出现一些问题。 现在给定一个抢票的多线程代码 class MyThread implements Runnable{ int a = 10;//票数 @Override public void run() { whi ...
分类:
编程语言 时间:
2020-01-20 23:01:34
阅读次数:
78