`
ticojj
  • 浏览: 156638 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

线程安全初解

 
阅读更多

这个例子很有趣

1.你和小秘在屋里亲热,屋子没上锁,老婆冲进屋,这是线程不安全。 

这里你和小秘在屋里亲热是一个线程,老婆冲进屋是一个线程。屋子是资源。 

你和小秘在屋里亲热,屋子上锁,老婆冲不进屋,这是线程安全 
因为资源上锁后你老婆被阻塞了。

 

归结到底是资源的占有问题

 

------------------关于struts1 和2, 我也知 struts2 每次都单独创建一个action实例。。。

不过其实具体,还是不明白。。。哎,我笨啊~~~

分享到:
评论

相关推荐

    java多线程之线程,进程和Synchronized概念初解

    本文主要探讨了线程、进程以及Java中实现多线程的方法,并着重讲解了线程安全和`synchronized`关键字的使用。 首先,理解进程与线程的概念至关重要。进程是操作系统资源分配的基本单位,它包含了一个程序的运行环境...

    豪杰超级解霸2.0源代码

    【豪杰超级解霸2.0源代码】是一款在90年代末至2000年初备受瞩目的多媒体播放软件,其源代码的公开对于学习和研究当时的多媒体处理技术具有重要价值。它不仅是一个播放器,更是一个包含了音视频解码、控制界面设计等...

    源码:豪杰超级解霸2.0-钻石精品.rar

    豪杰超级解霸在20世纪90年代至21世纪初是一款非常流行的多媒体播放软件,尤其在中国市场,它支持VCD、DVD等多种格式的视频播放,并且提供了丰富的视频处理功能。 【描述】"源码:豪杰超级解霸2.0-钻石精品.rar" 这...

    glibc-linuxthreads-2.2.tar.gz

    在使用`linuxthreads`时,开发者需要注意线程安全问题,如互斥锁(mutexes)、条件变量(condition variables)、信号量(semaphores)等同步机制的正确使用,以避免数据竞争和其他并发问题。同时,由于`...

    c++ vs2013 解压缩

    - **性能优化**:如果解压缩大量文件,考虑使用多线程或异步I/O提高效率。 - **内存管理**:正确地分配和释放内存,避免内存泄漏。 - **兼容性**:确保代码能处理不同版本的ZIP文件格式,包括加密的ZIP文件。 总之...

    php_redis-2.2.7-5.6-nts-vc11-x86,php_redis-2.2.5-5.6-ts-vc11-x86

    "nts"和"ts"分别代表"Non Thread Safe"(非线程安全)和"Thread Safe"(线程安全),这是PHP的两种编译模式。"vc11"表示这些扩展是用Visual C++ 11编译器构建的,而"x86"意味着这些扩展适用于32位系统。 PHP Redis...

    jsct:Java安全编码培训

    使用`synchronized`关键字、`java.util.concurrent`包中的工具类来保证线程安全。 8. **敏感数据保护**:对敏感数据进行加密,如信用卡号、密码和个人信息。可以使用Java的`javax.crypto`包提供的加密API。 9. **...

    java基础知识从业必备知识点结构图小结.rar

    Java是世界上最流行的编程语言之一,尤其在企业级应用开发领域占据主导地位。为了全面理解Java基础知识,本小结将按照给定的文件名,逐一...无论是初入Java殿堂的新手,还是需要巩固基础的开发者,都能从中受益匪浅。

    DES 加解密 8个字符串

    DES(Data Encryption Standard)是一种经典的对称加密算法,由IBM在1970年代初开发,后被美国国家标准局(NIST)采纳为标准。它使用64位的数据块进行加密,但其中包含7位的奇偶校验位,因此实际有效密钥长度只有56...

    APUE(linux环境c编程)

    6. **多线程编程**:介绍了线程的概念,线程创建、同步和通信,以及线程安全问题,这对于编写高性能的并发程序非常关键。 7. **网络编程**:涵盖TCP/IP协议、套接字编程,以及如何构建客户端-服务器应用程序。 8. ...

    2021Java字节跳动面试题——面向字节_Java语法基础.pdf

    6. **多线程支持**:Java内置了多线程支持,开发者无需关心底层的操作系统调度细节即可轻松实现多线程编程。 7. **网络编程支持**:Java语言自设计之初就考虑到了网络编程的需求,因此在网络编程方面具有很好的支持...

    WinRAR.zip

    WinRAR是一款广受欢迎的文件压缩与解压缩工具,尤其在IT行业内被广泛使用。标题中的"WinRAR.zip"指的是包含WinRAR程序的压缩文件,便于用户下载和安装。描述中提到,由于很多场景下需要使用RAR格式进行压缩,而360...

    haval.rar_HAVAL_visual c

    它在1990年代初被提出,作为一种具有高安全性和灵活性的散列函数。HAVAL有三个主要特点: 1. **可变输出长度**:HAVAL支持128、160、192、224和256位的输出长度,这使得它可以根据安全需求选择不同的散列大小。 2....

    Methylenix:用Rust编写的操作系统

    这种静态类型语言的特性使得Methylenix在设计之初就具备了高度的内存安全性和线程安全性。 Methylenix的操作系统内核充分利用了Rust的这些特性,旨在提供一个低延迟、高并发的运行环境。内核的设计采用了微内核架构...

    x-crack:x-crack-弱密码扫描程序,支持

    总的来说,x-crack是一个很好的起点,让初入安全领域的开发者了解弱口令扫描工具的实现,掌握基础的安全测试方法,并提升自己的Go编程能力。随着对x-crack的深入理解和实践,用户不仅可以提升自身的技能,也为保障...

    VB 源码下载者

    VB是一种流行的事件驱动编程工具,尤其在20世纪90年代至21世纪初,它被广泛用于创建Windows应用程序。这个"VB 源码下载者"可能是一个简易的程序,旨在简化开发者获取和存储编程源代码的过程。 SkinH.dll:这是一个...

    C++学习文档,从初级到高级

    5. **指针与引用**:深入学习指针的概念,包括指针的声明、赋值、解引用,以及引用作为安全的别名。 6. **动态内存管理**:理解new和delete操作符用于动态内存分配和释放,以及防止内存泄漏的重要性。 7. **模板**...

    apache + php 的windows安装配置

    1. **下载PHP**: 前往PHP官方网站(https://www.php.net/downloads.php)选择适合Windows的PHP版本,推荐使用非线程安全的版本(nts),因为大多数情况下你并不需要在Windows上使用线程。 2. **解压PHP**: 解压缩...

    tc-c语言编程环境

    TC,全称Turbo C,是由Borland公司开发的一款著名的C语言集成开发环境,尤其在80年代末至90年代初,它是许多初学者入门C语言的首选工具。这款编译器以其轻量级、高效和易用性而闻名,即便在资源有限的个人计算机上也...

    现代计算机专业文档资料整理.doc

    1801年,约瑟夫·玛丽·雅卡尔发明了打孔卡,这种卡片用于编织时控制线程的顺序,预示着编码概念的初步形成。 到了1883年,查尔斯·巴贝奇设计出了机械计算机的主要部件。他的设计理念对后来的计算机发展产生了深远...

Global site tag (gtag.js) - Google Analytics