什么是 CAS,它有什么特性?

CAS是一个多义词,以下是CAS在不同领域中的定义及其特性:

一、CAS在化学领域的定义及特性

在化学领域,CAS是Chemical Abstracts Service(化学文摘服务社)的缩写,它是一个非营利性的组织,致力于为化学物质提供唯一的识别号码和相关信息。

  1. CAS登记号

    • CAS最著名的产品是CAS登记号,也被称为CAS号。它是一个由数字和字母组成的唯一标识符,用于识别特定的化学物质。
    • CAS号通常由7位数字组成,有时还会附加一个字母或字母组合。例如,水(H2O)的CAS号为7732-18-5,乙醇(C2H5OH)的CAS号为64-17-5。
  2. CAS数据库

    • CAS数据库包含了数千万种化学物质的信息,包括化学名称、结构式、物理化学性质、制备方法、用途、毒性等。
    • CAS是化学物质信息的重要来源,在化学、材料科学、生物学、医学、农业、环境科学等领域有着广泛的应用。

二、CAS在计算机科学领域的定义及特性

在计算机科学领域,CAS通常指Compare-And-Swap(比较并交换),是一种非阻塞式锁,也称为乐观锁。

  1. 工作原理

    • 采用CAS的方式修改共享资源时会读取共享资源作为一个预期值,然后进行比较。
    • 如果预期值和当前值一样,那么就会更新成功。
    • 如果不一样,会采用自旋的方式再次获取共享资源的值尝试完成更新。
    • 当自旋次数达到一定阈值时还没有完成更新,那么就更新失败。
  2. 特性

    • 无锁操作:CAS操作无需加锁,线程不会进入阻塞状态,提高了性能。
    • 适合多读场景:在多读少写的场景下,CAS能够显著提高系统的并发性能。
    • 竞争激烈时效率低:如果竞争激烈,重试频繁,CAS的效率会受到影响。
  3. 应用

    • CAS在计算机科学领域有广泛的应用,如Java中的Atomic类就使用了CAS操作来实现线程安全的无锁更新。

三、CAS在单点登录系统中的定义及特性

在单点登录(SSO)系统中,CAS是Central Authentication Service(中央认证服务)的缩写。

  1. 开源项目

    • CAS是耶鲁大学发起的一个开源项目,旨在为Web应用系统提供一种可靠的单点登录方法。
    • 在2004年12月,CAS正式成为JA-SIG的一个项目。
  2. 特性

    • 开源性:CAS是一个开源的解决方案,用户可以自由使用和修改。
    • 多协议支持:CAS Server和CAS Client通信支持多协议,如CAS、Oauth、OpenID、SAML等。
    • 多种认证机制:支持Active Directory、JAAS、JDBC、LDAP等多种认证机制。
    • 安全性:使用票据(Ticket)来实现支持的认证协议,并通过SSL协议确保ST和TGC的安全性。
    • 高可用性:通过把认证过的状态数据存储在TicketRegistry组件中,这些组件有很多支持分布式环境的实现。
  3. 工作流程

    • 用户登录时,CAS Server会验证用户的身份并随机产生一个唯一、不可伪造的Service Ticket(ST),并缓存以待将来验证。
    • 之后系统自动重定向到Service所在地址,并为客户端浏览器设置一个Ticket Granted Cookie(TGC)。
    • CAS Client在拿到Service和新产生的Ticket过后,会与CAS Server进行身份核实,以确保Service Ticket的合法性。

综上所述,CAS在不同领域中有不同的定义和特性。在化学领域,CAS是化学文摘服务社的缩写;在计算机科学领域,CAS是比较并交换的非阻塞式锁;在单点登录系统中,CAS是中央认证服务的缩写。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值