线程
文章平均质量分 76
菜菜也逆袭
这个作者很懒,什么都没留下…
展开
-
java中用synchronized实现同步处理
synchronizedJava中提供synchronized关键字实现同步处理,用synchoronized可以修饰代码块,修饰方法,来完成对 对象加锁,对类加锁的操作。synchoronized是重量级锁。意思就是当有一个线程A进入时其他想访问的线程阻塞师等待,等待该线程A执行完整个加锁区间,系统自动释放锁,并唤醒等待的其他线程竞争锁。对象锁synchronized修饰同步代码块 --锁...原创 2018-11-21 09:01:42 · 1579 阅读 · 0 评论 -
java中乐观锁CAS操作详解
什么是乐观锁乐观锁就是假设所有线程访问共享资源都不会出现冲突,由于不会出现冲突所以就不会也不需要去阻塞其他线程。因此线程不会出现阻塞等待的状态。但是一旦发生冲突时,无锁操作,会使用CAS操作来鉴别线程是否出现冲突,出现冲突了就重复尝试,直到没有冲突为止。什么时CAS操作。CAS操作就是Compare And Swap比较交换操作。在CAS中操作中,有三个值。V,O,N。V:当前内存中存放...原创 2018-11-21 16:28:51 · 1366 阅读 · 0 评论 -
java中锁的几种分类
锁的分类java中锁按竞争状态、竞争程度可以分为4种锁,分别为无锁、偏向锁、轻量级锁、重量级锁,这些锁只能按照竞争激烈程度自动升级,不能降级,以提高锁的获取与释放效率。在java中,对象在内存中存储的布局可以分为三块区域:对象头(Header)、实例数据(Instance Data)和对齐填充(Padding)。在对象头的MarkWord字段中,存储着对象的Hashcode(地址映射),分代年...原创 2018-11-23 17:50:18 · 1860 阅读 · 1 评论 -
java-生产者消费者模型
利用Object类提供的wait和notify方法实现生产者消费者模型wait()方法wait方法用于同步代码块或者同步方法中,且锁必须是内建锁synchronized,如果使用wait时没有锁,则会抛出异常。wait方法使得调用该方法的线程停止运行进入等待,释放对象锁,运行其他线程竞争该锁,从运行态到阻塞态,并且将该线程置入该锁对象的等待队列中,直到接收到notify()或者被中断、终止...原创 2018-11-23 19:54:20 · 1599 阅读 · 0 评论 -
java中的线程概念以及线程创建
什么是线程要想知道什么是线程,就要知道什么是进程。那什么是进程呢?进程指的是操作系统中一个程序的执行生命周期,也就是从他点击run程序创建中,直到程序运行结束退出。整个执行过程叫做进程。那什么是线程呢。一个进程中肯定不止有一个线程,那么通俗的将进程的每一个子任务就是一个线程。对比进程和线程1.与进程相比,线程更加的轻量级。线程的创建、撤销相比较于进程的开销要小的多。2.没有进程就没有线程...原创 2018-11-19 21:17:56 · 762 阅读 · 0 评论 -
java中线程状态转化以及转换方法
线程中状态和进程意义。线程从启动到终止一种由5个状态。分别时创建状态,就绪状态,运行状态,阻塞状态和终止状态。状态转换常用方法创建状态->(start()方法)->就绪状态就绪状态->(系统调度)->运行状态运行状态->(yiekd()方法)->运行状态运行状态->(sleep()\join()\wait()方法)-&原创 2018-11-20 23:17:12 · 1143 阅读 · 0 评论 -
java中lock锁使用以及AQS理解
lock锁和关键字synchronized内建锁不同,Lock锁是完全由java语言实现的,Lock锁的代码在Java.util包下来完成我们同步访问临界资源。synchronized锁会使得其他线程阻塞等待等待被唤醒,而Lock使得其他请求访问的线程自旋等待竞争锁。Lock体系拥有可中断的获取锁以及超时获取锁以及共享锁等内建锁不具备的特性。lock锁,使用方法lock lock = new...原创 2018-11-26 15:51:41 · 1917 阅读 · 0 评论 -
java-通过AQS理解独占锁的实现机制
详细分析如何利用AQS实现独占锁的获取与释放独占式非公平锁的获取独占锁默认就是非公平锁,我们要想了解独占锁的获取是否,首先必须知道同步队列为一个有头尾节点的双向链表1.通过new ReentrantLock().lock();进入lock的的代码实现区public void lock() { sync.lock(); } ...... sync = new ...原创 2018-11-26 21:11:32 · 1918 阅读 · 0 评论 -
局域网文件文本在线传输助手
局域网文件文本在线传输助手具体实现代码链接下面我将详细记录,我在完成该项目涉及的具体问题的具体分析实现。要进行局域网通信首先要做的就是客户端和局域网建立链接。链接过程服务器端是无法知道都有哪些客户端要和其建立连接的。所以必须客户端首先拿到服务器的ip和端口号发起建立请求。但是,这也有个要求,就是服务器这个时候已经启动等待客户端发来请求。所以我们在最终启动的时候,应先启动服务器。客户端:...原创 2019-03-09 12:30:49 · 2454 阅读 · 0 评论