上一页 1 ··· 28 29 30 31 32 33 34 35 36 ··· 50 下一页
摘要: 悲观锁和乐观锁与CAS无锁机制很相关 乐观锁本质是无锁的 所以没有阻塞等待嘛 效率比较高 重试 --CAS无所机制 乐观锁 总是认为不会产生并发问题,每次去取数据的时候总认为不会有其他线程对数据进行修改,因此不会上锁,但是在更新时会判断其他线程在这之前有没有对数据进行修改,一般会使用版本号机制或CA 阅读全文
posted @ 2018-10-26 17:23 toov5 阅读(184) 评论(0) 推荐(0) 编辑
摘要: 相比Java中的锁(Locks in Java)里Lock实现,读写锁更复杂一些。假设你的程序中涉及到对一些共享资源的读和写操作,且写操作没有读操作那么频繁。在没有写操作的时候,两个线程同时读一个资源没有任何问题,所以应该允许多个线程能在同时读取共享资源。但是如果有一个线程想去写这些共享资源,就不应 阅读全文
posted @ 2018-10-26 16:49 toov5 阅读(223) 评论(0) 推荐(0) 编辑
摘要: 锁的种类: 读写锁 悲观锁 乐观锁 CSA无锁 自旋锁 AQS 非公平锁 公平锁 互斥锁 排它锁 分布式锁(redis实现 和 zk实现) 轻量级锁(lock),重量级锁(synchronize) 重入锁 锁作为并发共享数据,保证一致性的工具,在JAVA平台有多种实现(如 synchronized 阅读全文
posted @ 2018-10-26 15:34 toov5 阅读(1726) 评论(0) 推荐(0) 编辑
摘要: 根据前面我所说的Futrue模式,手写一个: 分别对应的Java代码,大家拿来参考: 启动类主函数: 结果: 大家对应着上一篇博客好好研究下,这个模式的应用场景还是蛮多的。代码挺有趣的。 当要获取资源的时候,data.getResult() ,如果资源没有准备好false;那么就会阻塞该线程。直到资 阅读全文
posted @ 2018-10-26 14:32 toov5 阅读(345) 评论(0) 推荐(0) 编辑
摘要: submit 和 excute是有啥区别 如果有这样的需求: 多线程实现下载,提高效率。 不论是Thread类还是Runnable接口重写run方法,有个特点就是没有返回值~~~~~~ 我都主线程 如何知道子线程程序执行完毕呢? 子线程执行完毕 立马告诉主线程 可以wait 和 notify 在Ja 阅读全文
posted @ 2018-10-25 18:30 toov5 阅读(3375) 评论(0) 推荐(0) 编辑
摘要: 今天看到一个很不错的this使用demo: this 代表当前对象的引用 成员对象 应该又对象去调用 this代表当前的对象地址 如果不用this 就近原则的话 就是给自己复制了 name 给 name赋值 (区分成员变量 和 局部变量了 重名情况) num 已经被私有了,不能到别的类里面去调用 然 阅读全文
posted @ 2018-10-25 02:53 toov5 阅读(169) 评论(0) 推荐(0) 编辑
摘要: Java的特性之一 多态 很多小伙伴搞不懂,问这个问题。尤其是很多初学者,觉得别扭。我总结个例子,大家看一看吧~ 看看向上转型: 向上转型描述的是一些公共特征。而向下描述的是子类自己特殊的定义环境。向下转型不一定是安全的啊,因为在进行向下转型之前一定要首先发生向上转型 这样必然报错 所以注意了啊。只 阅读全文
posted @ 2018-10-24 16:51 toov5 阅读(129) 评论(0) 推荐(0) 编辑
摘要: 在 jdk1.5 之后,并发包中新增了 Lock 接口(以及相关实现类)用来实现锁功能,Lock 接口提供了与 synchronized 关键字类似的同步功能,但需要在使用时手动获取锁和释放锁。 lock锁 也叫显示锁 大家看下这个lock锁: lock是个接口 这个接口下面很多锁: 对于lock锁 阅读全文
posted @ 2018-10-23 18:41 toov5 阅读(316) 评论(0) 推荐(0) 编辑
摘要: 从https://www.cnblogs.com/toov5/p/9837373.html 可以看到他的打印是一片一片的,这边博客介绍怎么避免掉 使用notify 和 wait的时候 要注意 是在synchronize进行的,持有同一把锁 1.因为涉及到对象锁,他们必须都放在synchronized 阅读全文
posted @ 2018-10-23 17:56 toov5 阅读(1006) 评论(0) 推荐(0) 编辑
摘要: 多线程之间如何实现通讯 什么是多线程之间通讯? 多线程之间通讯,其实就是多个线程在操作同一个资源,但是操作的动作不同。 画图演示 多线程之间通讯需求 需求:第一个线程写入(input)用户,另一个线程取读取(out)用户.实现读一个,写一个操作。 代码实现基本实现 下面我们看个例子 生产者 消费者 阅读全文
posted @ 2018-10-23 16:21 toov5 阅读(506) 评论(0) 推荐(0) 编辑
上一页 1 ··· 28 29 30 31 32 33 34 35 36 ··· 50 下一页