【每日一题系列】JAVA面试——ThreadLoacl

每天半小时,进步一点点。

ThreadLoacl(参考链接:https://mp.weixin.qq.com/s/fo9fe16fHIWwnhFMsFeVfA

通常处理多线程并发安全,会使用乐观锁、悲观锁来控制,但是在解决并发冲突的时候会有一定的开销,影响性能。

ThreadLocal 特殊的地方在于不是等有冲突了再解决,而是通过限制只有当前自身线程可以访问,避免冲突发生。

创建一个ThreadLocal对象:

private ThreadLocal<Integer> localInt = new ThreadLocal<>();

上述代码创建一个localInt变量,由于ThreadLocal是一个泛型类,这里指定了localInt的类型为整数。

下面展示了如果设置和获取这个变量的值:

public int setAndGet(){
    localInt.set(8);
    return localInt.get();
}

算法:(原文链接:https://mp.weixin.qq.com/s/QIVHouOEmYMSJJ4PRbuwiQ)

一道数学题:

100个人回答五道题,有81人答对第一题,91人答对第二题,85人答对第三题,79人答对第四题,74人答对第五题。
答对三道题或三道题以上的人算及格,那么在这100人中至少有多少人及格呢?

上一篇:net core体系-web应用程序-4asp.net core2.0 项目实战(1)-10项目各种全局帮助类


下一篇:使用Senparc.Weixin.WxOpen开发高可用的微信小程序