
多线程
浮华饰浮华
小渣渣
展开
-
ThreadPool和ThreadLocal
ThreadPool是什么?ThreadPool是指线程池!提到线程池大家肯定会想到Callable吗?线程的第三种实现,Callable接口与Runnable不同之处在于Callable有返回值.线程池相当于一个容器,具体的实现包括如下:一般通过Executor框架的工具类Executors来创建ThreadPoolExecutor,可以创建三种类型的ThreadPoolEx原创 2018-02-01 20:30:38 · 3138 阅读 · 0 评论 -
Synchronized和ReentrantLock的区别
Synchronized和ReentrantLock关键字,都可以保证多线程下数据的一致性,但是他们的实现方式却是不同的?那么是怎么样的呢?现在来逐一分析一下咯!Synchronized synchronized是我们在多线程环境下首选的同步方案,也是使用得最多的同步方案.他的实现是基于jvm的两个字节码指令,分别是monitorenter和monitorexit,这两个字节码都需要一原创 2018-02-02 11:12:06 · 2560 阅读 · 0 评论 -
Volatile关键字
什么是Volatie关键字?Volatile是类似于static的关键字(从使用位置上来说),但是只能使用在变量的前面Volatile的两个语义 1.可见性和一致性 当一个变量声明为volatile之后,他将具备两种特性,第一是保证此变量对所有线程的可见性,这里的可见性是指当一条线程修改了这个变量的值,新值对其他线程来说是可以立即得知的.而普通变量不能做到这一点.普通变量的值在原创 2018-02-02 17:49:06 · 248 阅读 · 0 评论 -
基于URLConnection的爬虫
昨天下午被叫做一个爬虫,爬取某个网站的律师信息,emmmmm,所以就记录一下,方便以后使用 用的是比较老的方法了,作为初学者嘛!有专门做这个的框架Jsoup.效率应该更高,不过把这个弄懂了的话,感觉自己也能写一个类似的框架了,无非就是接下一下html,哪个span或者哪个label对应取值.O(∩_∩)O哈哈~,当然还有效率问题.package reptile;import ja...原创 2018-04-26 12:50:54 · 287 阅读 · 0 评论 -
Java-经典消费者和生产者代码(面试题)
生产者代码import java.util.Stack;public class Consumer extends Thread{ private Stack<Integer> stack; Consumer( Stack<Integer> stack){ super(); this.stack = stack; } @Override ...原创 2018-11-07 17:54:29 · 1669 阅读 · 0 评论