并发编程
有你就行123
这个作者很懒,什么都没留下…
展开
-
并发编程之多线程基础(1)
线程和进程是什么:线程:可以理解为是一条执行路径,程序运行的最小执行单元。进程:是一个独立的运行程序;是多个线程的集合。为什么要使用多线程在项目中使用多线程可以提高程序的运行效率。创建线程的方式这里只介绍最常见的两种创建线程的方式(以后再介绍通过线程池创建的线程)。①通过继承Thread类public class ThreadDemo { public static voi...原创 2019-02-24 21:50:10 · 94 阅读 · 0 评论 -
并发编程之多线程基础(3)
前两节已经给大家介绍很多有关线程的知识,今天主要给大家讲一下:线程间通讯。什么是线程间通讯其实就是多个线程操作同一共享资源,但它们的操作有所不同。多线程操作需求读写用户的操作;当写(Write)线程写完一条用户数据时,读线程(Reader)开始读取用户信息;达到写一条用户数据,通知读线程立刻开始读刚产生的用户数据。共享资源对象:/** * @Created by * @Date ...原创 2019-03-11 00:27:37 · 113 阅读 · 0 评论 -
并发编程--线程池
在上一节中,已经介绍了线程之间是如何进行通讯的。今天让我们一起来学习线程池相关的知识。为什么要使用线程池?线程池是jdk1.5 才出现的;目的是为了更好的创建线程。其实先在真实的项目中,我们并不是直接通过继承Thread类或者实现Runnable来创建线程的,更多的是通过线程池这种方法来创建线程;使用线程池创建的线程的好处:降低资源消耗:通过重复利用已创建的线程避免多次创建或销毁线程带来的...原创 2019-03-17 23:25:29 · 204 阅读 · 0 评论 -
并发编程--常见锁
重入锁锁作为并发共享数据,保证一致性的工具,在JAVA平台有多种实现(如 synchronized(重量级) 和 ReentrantLock(轻量级)等等 ) 。这些已经写好提供的锁为我们开发提供了便利。重入锁,也叫做递归锁,指的是同一线程 外层函数获得锁之后 ,内层递归函数仍然有获取该锁的代码,但不受影响。在JAVA环境下 ReentrantLock 和synchronized 都是 可重...原创 2019-03-25 08:54:19 · 251 阅读 · 0 评论