线程
文章平均质量分 71
teng_sd_cn
无。
展开
-
java中condition使用遇到的问题
今天在学习java中的condition的时候,遇到一个问题。(最后发现还是基础不行啊~)在使用condition.await()方法之后,我以为该线程就结束了,剩余的代码不执行了,后来在写demo的时候发现测试结果怎么也不正确,一调试发现condition.await()后面的代码执行了。所以,await()方法只是让线程停止了执行,并且释放了锁,在使用signal()重新唤醒该线程原创 2017-06-07 14:04:33 · 739 阅读 · 0 评论 -
多线程-线程的中断
说明一下:interrupt()方法是给其它线程设置中断状态,不是指给当前线程设置中断状态原文地址:http://blog.csdn.net/axman/article/details/562249[线程的中断]不客气地说,至少有一半人认为,线程的"中断"就是让线程停止.如果你也这么认为,那你对多线程编程还没有入门.在java中,线程的中断(interrupt)只是改变转载 2017-07-17 15:04:53 · 210 阅读 · 0 评论 -
Java如何捕获线程异常?
首先,我们要知道,在Java中,线程中的异常是不能抛出到调用该线程的外部方法中捕获的。为什么不能抛出到外部线程捕获?因为线程是独立执行的代码片断,线程的问题应该由线程自己来解决,而不要委托到外部。”基于这样的设计理念,在Java中,线程方法的异常都应该在线程代码边界之内(run方法内)进行try catch并处理掉.换句话说,我们不能捕获从线程中逃逸的异常。怎么进行的限制?通过原创 2017-08-10 13:04:45 · 6180 阅读 · 0 评论 -
大白话讲解ThreadLocal的原理
ThreadLocal顾名思义,本地线程,可以理解为本地线程变量,说白了就是操作本地线程的局部变量。下面我们通过源码进行说明:首先,我们看一下ThreadLocal的set方法源码实现:public void set(T value) { Thread t = Thread.currentThread(); ThreadLocalMap map = ge原创 2017-08-12 17:10:36 · 1369 阅读 · 1 评论 -
Java线程之semaphore和Exchanger
Semaphore是Java线程的一个计数信号量。我们可用于多线程的并发访问控制。就像我们常见的线程池,数据库连接池就可以使用Semaphore进行逻辑的实现。Semaphore中我们就介绍两个最常用的两个方法。acquire() 从Semaphore获取许可,如果计数不小于0,就说明还有可用的许可,那么线程就可以成功获取许可,执行。如果没有许可 了,那么这个方法就会一直阻塞原创 2017-08-13 15:12:09 · 304 阅读 · 0 评论 -
使用java nio 编写简易聊天室
服务器端:相当于是一个接收客户端消息的分发器,为了简单,直接在接收到客户端的消息后, 直接发送给所有的客户端package chatroom.chatserver;import java.io.IOException;import java.net.InetSocketAddress;import java.net.ServerSocket;i原创 2018-01-09 14:45:22 · 1301 阅读 · 0 评论