Wesley13 Wesley13
3年前
java线程优先级
java中的线程优先级的范围是1~10,默认的优先级是5。10最高。MIN\_PRIORITY 1MAX\_PRIORITY10NORM\_PRIORITY5优先级高的获得cpu的几率更大些,不是优先级高的就先执行完,线程优先级随机特性在java中,线程的优先级具有继承性,例如A线程启动B线程,则A和B的优先级是一样的线程创建
Wesley13 Wesley13
3年前
java 线程池入门
一简介线程的使用在java中占有极其重要的地位,在jdk1.4极其之前的jdk版本中,关于线程池的使用是极其简陋的。在jdk1.5之后这一情况有了很大的改观。Jdk1.5之后加入了java.util.concurrent包,这个包中主要介绍java中线程以及线程池的使用。为我们在开发中处理线程的问题提供了非常大的帮助。二:线程池
灯灯灯灯 灯灯灯灯
3年前
面试百度和美团,竟然问我多线程安全问题,正好撞在我知识点上
解决多线程安全问题无非两个方法synchronized和lock具体原理以及如何获取锁AQS算法本篇文章主要讲了lock的原理就是AQS算法,还有个姊妹篇讲解synchronized的实现原理也是阿里经常问的,一定要看后面的文章,先说结论:非公平锁tryAcquire的流程是:检查state字段,若为0,表示锁未被占用,那么尝试占用,若不为0,检查
Wesley13 Wesley13
3年前
java同步机制(1)Volatile变量
Java语言包含两种内在的同步机制:同步块(或方法)和volatile变量(不稳定变量)。这两种机制的提出都是为了实现代码线程的安全性。其中Volatile变量的同步性较差(但有时它更简单并且开销更低),而且其使用也更容易出错。Java语言中的volatile变量可以被看作是一种“程度较轻的synchronized”;与synchr
Wesley13 Wesley13
3年前
Java并发包小结
1、Lock  Lock功能对应关键字synchrozied功能,lock和unlock方法用于加锁和释放锁。等待锁的线程加入到等待链表中,同时阻塞线程,锁释放时,从等待链表中取出等待的线程执行,取等待的线程分公平与非公平两种方式,公平方式取第一个等待的线程,非公平方式当前正在获取锁的线程可能立刻执行,而不用加入到等待队列中,排队执行。2、Con
Wesley13 Wesley13
3年前
Java并发系列7
如果要让线程阻塞,我们在讲线程基础的时候已经分析过了。如果要让线程暂停呢,不是blocked,而是waiting,这时候有什么办法?Thread类有一个弃用的方法suspend()是线程暂停的意思,他被弃用的原因是线程挂起的时候并不会释放持有的锁资源,而且suspend()挂起的线程状态依然是runnable,这也是不合理的。那么有没有一种简单的
Stella981 Stella981
3年前
Hibernate对象
1)SessionFactory这是Hibernate的关键对象,它是单个数据库映射关系经过编译后的内存镜像,它也是线程安全的。它是生成Session的工厂,本身需要依赖于ConnectionProvider,该对象可以在进程或集群的级别上,为那些事务之间可以重用的数据提供可选的二级缓存。2)Session它是应用程序和持久层之间交互操作的一个单
Stella981 Stella981
3年前
C#设计模式(1)——单例模式(Singleton)
单例模式即所谓的一个类只能有一个实例,也就是类只能在内部实例一次,然后提供这一实例,外部无法对此类实例化。单例模式的特点:1、只能有一个实例;2、只能自己创建自己的唯一实例;3、必须给所有其他的对象提供这一实例。普通单例模式(没有考虑线程安全)  ///<summary///单例模式
Wesley13 Wesley13
3年前
Java 实现线程的方式有几种方式?带有返回值的线程怎么实现?
Java实现线程的方式有几种方式?带有返回值的线程怎么实现?在Java线程开发中,有几种方法开启线程?假如需要得到线程返回的信息怎么办?可以实现吗?凯哥将通过源码和大家一起分享下线程怎么将返回值带回来的。一:无返回值类型的1:继承Thread类2:实现Runnable接口这两种是大家常用的,代码demo就截图吧。
Wesley13 Wesley13
3年前
Java进阶:基于TCP的网络实时聊天室(socket通信案例)
目录开门见山一、数据结构Map二、保证线程安全三、群聊核心方法四、聊天室具体设计0、用户登录服务器1、查看当前上线用户2、群聊3、私信4、退出当前聊天状态5、离线6、查看帮助五、聊天室服务完整代码六、效果演示:基于TCP的网络实时聊天室结语开门见山最近一个月记