摘要: cas涉及三个值: 要读取内存的值A,期望的值B,新值C。 读取出A的值与B比较,如果相等(说明比较交换过程中,没有其它线程修改A的值),那么用C更新A。 无论是否相等,最后都返回A。因为如果不相等,那么A被其它值更新了,所以返回A值(最新的值)。如果相等,C更新A了,返回A(新值)。 阅读全文
posted @ 2018-07-13 22:25 1367356 阅读(113) 评论(0) 推荐(0)
摘要: 1:Callable ,方法调用会有返回值。 2Runnable 阅读全文
posted @ 2018-07-13 21:49 1367356 阅读(129) 评论(0) 推荐(0)
摘要: Executor将线程的创建和线程的执行解耦,比较下面两个例子: 1:TaskExecutionWebServer.java 2:ThreadPerTaskWebServer ,不可取。 从上面两个例子可以看出 Executors 会创建线程池,从线程池中取出线程执行任务。可以控制线程的数量。 而T 阅读全文
posted @ 2018-07-13 21:12 1367356 阅读(177) 评论(0) 推荐(0)