Java多线程增强
Java多线程基础
- 进程:它是内存中的一段独立的空间,可以
负责当前应用程序的运行- 进程是负责整个程序的运行,而线程是程序中具体的某个独立功能的运行
- 一个进程中至少应该有一个线程
- 线程:位于进程中,
负责当前进程中的某个具备独立运行资格的空间 - 多线程:在一个进程中,我们同时开启多个线程,让多个线程同时去完成某些任务(功能)(比如后台服务系统,就可以用多个线程同时响应多个客户的请求)
进程
1 | 不管是我们开发的应用程序,还是我们运行的其他的应用程序,都需要先把程序安装在本地的硬盘上。然后找到这个程序的启动文件,启动程序的时候,其实是电脑把当前的这个程序加载到内存中,在内存中需要给当前的程序分配一段独立的运行空间。这片空间就专门负责当前这个程序的运行 |
线程
1 | 启动的QQ聊天软件,需要和多个人进行聊天。这时多个人之间是不能相互影响,但是它们都位于当前QQ这个软件运行时所分配的内存的独立空间中 |
多线程运行的原理
1 | cpu在线程中做时间片的切换 |
实现线程的两种方式
1 |
Java同步关键词
synchronized
synchronzied的缺陷
1 | synchronized是java中的一个关键字,也就是说是Java语言内置的特性 |
lock
lock和synchronized的区别
1 | 1)Lock不是Java语言内置的,synchronized是Java语言的关键字,因此是内置特性。Lock是一个类,通过这个类可以实现同步访问; |
本文作者 : Matrix
原文链接 : https://matrixsparse.github.io/2017/07/19/Java多线程增强/
版权声明 : 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明出处!
知识 & 情怀 | 二者兼得