首先,必须明确的是,Java的并发包是针对线程的,那么就不得不先说明一下什么是线程:
线程(thread),有时也被被称为轻量级进程(Lightweight Process,LWP),是程序执行流的最小单元。线程是进程中的一个实体,是被系统独立调度和分派的基本单位,线程自己不拥有系统资源,只拥有一点在运行中必不可少的资源,但它可与同属一个进程的其它线程共享进程所拥有的全部资源,另外进程之间存在父子关系,但是线程只能共享所在进程的全部资源。一个线程可以创建和撤消另一个线程,同一进程中的多个线程之间可以并发执行。由于线程之间的相互制约,致使线程在运行中呈现出间断性。线程5种基本状态:
1.新建 2.就绪 3.运行 4.阻塞 5.死亡
线程是程序中一个单一的顺序控制流程。在单个程序中同时运行多个线程完成不同的工作,称为多线程。
-------------------------------------------------------
在多线程的情况下,有可能产生各种并发的情况,比如一个线程需要等待另外一个线程完成后再执行,一个线程在读取一个变量的时候另一个在写操作(产生数据不一致的情况),A线程在等待B线程,而B线程又在等待A线程,产生死锁现象。所以在原有基本Thread的基础上在Java 5.0+版本上加入了一个并发包,用来处理线程并发所需要的东西和处理对应问题的工具,这个包是一个大学教授写的-Doug Lea,他不仅讲课,而且研究,而且出书,它写了这个并发包,既简单又好用,所以在制定java新规范的时候,把这个包加进来了。所在的包名是:java.util.concurrent
-------------------------------------------------------
本文的系列文章将根据此包中不同类的作用和应用场景分类,并试图清晰的讲述其基本原理和用法,也会结合有些“原始”的办法,如wait,notify等等来讲述一些原理性东西。
希望我们都把并发包和线程的东西都吃透,因为这是一个很好的基础,很多框架,应用服务器,MQ等等的东西都会用到这些东西,或者你自己写程序的时候会经常用到的这类的东西,是一种”基本功“。本文是一个开唱白,1-N节的文章会陆续跟进,今天下午计划有二-三篇跟进,请注意查收!
分享到:
相关推荐
蓝牙5.0适配器安装指南V1-1 蓝牙技术是现代无线连接的重要组成部分,尤其是在个人设备之间传输数据和音频流时。随着技术的发展,蓝牙版本也在不断更新,蓝牙5.0作为最新一代,提供了更快的速度、更远的传输距离和更...
Java5.0API(1-5).帮助手册....chm格式
【标题】"达内JAVA TTS5.0 PDF"涵盖了Oracle编程的相关知识,这通常意味着这份资料是关于Java编程与Oracle数据库的结合使用。Oracle编程主要指的是如何利用Java语言进行Oracle数据库的交互,包括数据的增删查改、...
这个压缩包“mysql-connector-java-5.0.X.rar”包含的是不同版本的MySQL JDBC(Java Database Connectivity)驱动,允许Java开发者在他们的应用中无缝地连接到MySQL数据库。 JDBC驱动是Java平台上的一个标准接口,...
本文将详细探讨名为“t20v5.0全系列补丁-patch.zip”的补丁包,该补丁包针对天正建筑软件T20 V5.0版本提供了重要的更新和修复。 首先,“t20v5.0全系列补丁-patch.zip”这一标题明确指出,此补丁包是专门针对天正...
资源分类:Python库 所属语言:Python 资源全名:pyinstaller-5.0-py3-none-manylinux2014_x86_64.whl 资源来源:官方 安装方法:https://lanzao.blog.csdn.net/article/details/101784059
《达内JAVA TTS5.0 PDF——JAVA SE核心1》是针对初学者和有一定基础的Java开发者设计的一份详尽教程,旨在深入探讨Java Standard Edition(Java SE)的核心概念和技术。这份PDF教程出自达内教育,一家知名的IT培训...
dotnet-sdk-5.0.202-win-x64.exe
【Java TTS5.0 知识点详解】 Java TTS5.0 是达内教育机构推出的高级Java培训课程,该课程重点涵盖了Web前端开发中的核心技术——HTML、CSS和JavaScript。这三大技术是构建现代网页和应用程序的基础,下面将分别进行...
llvm5.0-5.0.1-7.el7.x86-64.rpm
ACCP5.0-S1-C#教程PPTACCP5.0-S1-C#教程PPTACCP5.0-S1-C#教程PPTACCP5.0-S1-C#教程PPTACCP5.0-S1-C#教程PPTACCP5.0-S1-C#教程PPTACCP5.0-S1-C#教程PPTACCP5.0-S1-C#教程PPTACCP5.0-S1-C#教程PPTACCP5.0-S1-C#教程...
本文将详细介绍dotnet-sdk-5.0.400-linux-x64及其包含的组件,探讨其在跨平台开发中的重要性。 首先,"dotnet-sdk-5.0.400-linux-x64.tar.gz"是一个针对Linux x64架构的.NET SDK压缩包。这个版本5.0.400代表了.NET ...
dotnet-sdk-5.0.408-win-x64
网盘下载包括: ambari-2.7.5.0-centos7.tar.gz HDP-3.1.5.0-centos7-rpm.tar.gz HDP-GPL-3.1.5.0-centos7-gpl.tar.gz HDP-UTILS-1.1.0.22-centos7.tar.gz
T20天正电气、建筑、结构、给排水、暖通V5.0第二季度正式版本!!!!!!,永久授权工具。不懂使用的联系我ID
赠送jar包:ffmpeg-5.0-1.5.7.jar; 赠送原API文档:ffmpeg-5.0-1.5.7-javadoc.jar; 赠送源代码:ffmpeg-5.0-1.5.7-sources.jar; 赠送Maven依赖信息文件:ffmpeg-5.0-1.5.7.pom; 包含翻译后的API文档:ffmpeg-5.0...
TortoiseGit-LanguagePack-1.8.5.0-32bit-zh_CN.msi
P-touch Editor5.0软件与P-TOUCH Editor Lite软件相比功能更强大,内置边框选项更多,长度设定范围更广,还能支持条码协议,且可以显示Word、Excel、Outlook中的文字,然后直接打印到标签打印机。
HCNE5.0版讲义--HL-005 路由器基础及配置(V5.0).ppt
HCNE5.0版讲义--HL-003 常见网络接口与线缆(V5.0).ppt