上一页 1 2 3 4 5 6 7 8 ··· 22 下一页
摘要: 我们之前学习创建线程有Thread和Runnable两种方式,但是两种方式都无法获得执行的结果。 而Callable和Future在任务完成后得到结果。 Future是一个接口,表示一个任务的周期,并提供了相应的方法来判断是否已经完成,以及获取任务的结果和取消任务。 FutureTask可用于异步获 阅读全文
posted @ 2018-07-06 19:47 开拖拉机的蜡笔小新 阅读(497) 评论(0) 推荐(0) 编辑
摘要: 编写多线程程序是为了实现多任务的并发执行,从而能够更好地与用户交互。一般有三种方法,Thread,Runnable,Callable. Runnable和Callable的区别是,(1)Callable规定的方法是call(),Runnable规定的方法是run().(2)Callable的任务执行 阅读全文
posted @ 2018-07-06 16:58 开拖拉机的蜡笔小新 阅读(283) 评论(0) 推荐(0) 编辑
摘要: 1. 首先说一下:行锁 和 表锁 1. 首先说一下:行锁 和 表锁 1. 首先说一下:行锁 和 表锁 主要是针对锁粒度划分的。 一般分为:行锁、表锁、库锁 (1)行锁:访问数据库的时候,锁定整个行数据,防止并发错误。 (2)表锁:访问数据库的时候,锁定整个表数据,防止并发错误。 行锁 和 表锁 的区 阅读全文
posted @ 2018-07-06 16:06 开拖拉机的蜡笔小新 阅读(331) 评论(0) 推荐(0) 编辑
摘要: AQS是J.U.C的核心 AQS(AbstractQueuedSynchronizer)队列同步器,AQS是JDK下提供的一套用于实现基于FIFO等待队列的阻塞锁和相关的同步器的一个同步框架。 同步器面向的是锁的实现者,它简化了锁的实现方式,屏蔽了同步状态管理、线程的排队、等待和唤醒等底层操作。 同 阅读全文
posted @ 2018-07-06 16:05 开拖拉机的蜡笔小新 阅读(368) 评论(0) 推荐(1) 编辑
摘要: 同步容器 同步容器可以简单地理解为通过synchronized来实现同步的容器,如果有多个线程调用同步容器的方法,它们将会串行执行。 同步容器将它们的状态封装起来,并对每一个公有方法进行同步。主要包括: Vector Stack HashTable Collections.synchronized方 阅读全文
posted @ 2018-07-05 17:27 开拖拉机的蜡笔小新 阅读(460) 评论(0) 推荐(0) 编辑
摘要: 1.StringBuilder 线程不安全,StringBuffer线程安全原因:StringBuffer几乎所有的方法都加了synchronized关键字 package com.mmall.concurrency.example.commonUnsafe; import com.mmall.co 阅读全文
posted @ 2018-07-05 16:09 开拖拉机的蜡笔小新 阅读(485) 评论(0) 推荐(0) 编辑
摘要: 当我们在多线程程序中操作一个数据时,保证此数据的线程安全是必须的。一般的,我们会将与此数据相关的操作同步化,在处理此数据附近创建临界区,通过类似串行的方式让多线程按序访问保证安全。除了这种同步的方法,还有其他的方法可以保证数据的安全性。 保证数据线程安全的思路基本有以下三种,这三种中又分别有不同的做 阅读全文
posted @ 2018-07-05 15:35 开拖拉机的蜡笔小新 阅读(267) 评论(0) 推荐(0) 编辑
摘要: 不可变类:所谓的不可变类是指这个类的实例一旦创建完成后,就不能改变其成员变量值。如JDK内部自带的很多不可变类:Interger、Long和String等。 可变类:相对于不可变类,可变类创建实例后可以改变其成员变量值,开发中创建的大部分类都属于可变类。 不可变类的优点: 1.线程安全 不可变对象是 阅读全文
posted @ 2018-07-05 15:30 开拖拉机的蜡笔小新 阅读(394) 评论(0) 推荐(0) 编辑
摘要: 发布对象 发布对象:使一个对象能够被当前范围之外的代码所使用 对象溢出:一种错误的发布,当一个对象还没有构造完成时,就使它被其他线程所见 不正确的发布可变对象导致的两种错误: 1.发布线程意外的所有线程都可以看到被发布对象的过期的值 2.线程看到的被发布对象的引用是最新的,然而被发布对象的状态却是过 阅读全文
posted @ 2018-07-05 11:22 开拖拉机的蜡笔小新 阅读(343) 评论(0) 推荐(0) 编辑
摘要: 在并发编程中,需要处理的两个关键问题:线程之间如何通信以及线程之间如何同步。 通信是指线程之间以或者机制交换信息,java的并发采用的是共享内存模型,线程之间共享程序的公共状态,通过读写内存中的公共状态进行隐式通信。 同步是是指程序中用于控制不同线程间操作发生相对顺序的机制。 最开始首先应该知道计算 阅读全文
posted @ 2018-07-01 14:58 开拖拉机的蜡笔小新 阅读(3372) 评论(2) 推荐(1) 编辑
上一页 1 2 3 4 5 6 7 8 ··· 22 下一页