线程
xiaoguangtouqiang
一枚小小程序员
展开
-
java多线程系列-Executors框架
1.new Thread的弊端在引入Executor之前,我们创建一个线程使用new Thread来创建一个线程去执行,如下所示RunnableImpl runnable = new RunnableImpl(); Thread thread = new Thread(runnable); thread.start();这种方式的弊端很多:1>...原创 2018-06-17 19:50:05 · 379 阅读 · 0 评论 -
synchronized关键字
synchronized关键字作用在一个object上时,有几种情况,通过几个例子来说明下多线程下synchronized的关键字对线程执行的影响原创 2018-02-26 23:07:06 · 104 阅读 · 0 评论 -
线程的几种状态
总结了线程的几种状态,以及一些在使用的时候的注意事项包括线程的join用法以及wait和sleep方法的区别;原创 2018-07-08 18:01:57 · 1497 阅读 · 0 评论 -
count++自增的陷阱
在面试的时候遇到一个问题,问如下程序的输出结果是啥public static void main(String[] args) { int count = 0; for (int i = 0; i < 10; i++) { count = count++; } System.out.pri...原创 2018-07-26 11:51:27 · 1404 阅读 · 0 评论 -
AtomicBoolean使用
AtomicBoolean是java.util.concurrent.atomic的原子变量的类;可以看到下面还有很多类似的Atomic这样的类,如下图所示这样的类具有原子性,在多线程的环境下使用是线程安全的;举个例子,在多线程环境中,我们通过判断一个boolan变量的值,然后修改该变量的值,之后进行操作;存在一个问题就是,多个线程可能都读到该变量的值是符合条件的,然后都去修改了变量的值;...原创 2018-07-31 19:41:56 · 15181 阅读 · 0 评论 -
两个线程交替打印字符
从别处看来得题目,觉得蛮有意思,记录一下;已知数组 A 内容为1、2、3、4...52,数组 B 内容为 26 个英文字母,使用两个线程分别输入两个数组,然后使程序运行打印内容为 12a34b56c78e... 的规律,请给出代码实现?这个问题的核心就是两个线程交替等待执行,对应到java中就是线程之间的协同;首先用第一种实现,自旋锁的方式:首先看一种错误的方式:先是打印数值类型的...原创 2018-07-31 22:02:34 · 1897 阅读 · 3 评论