- 浏览: 208737 次
- 性别:
- 来自: 哈尔滨
文章分类
- 全部博客 (267)
- java.lang (8)
- 问题汇总 (21)
- 异常记录 (20)
- 功能实现 (19)
- 面试总结 (25)
- 技巧总结 (8)
- 常用代码 (4)
- 编程习惯 (3)
- 编码规则 (3)
- java.util (10)
- java.io (1)
- JavaWeb (9)
- MySQL (16)
- SVN (3)
- MyBatis (11)
- Velocity (7)
- 其他知识 (10)
- 人生哲理 (1)
- 人生故事 (1)
- 自我感悟 (1)
- shiro (3)
- 基础知识 (0)
- 问题总结 (1)
- Spring 标签 (1)
- Spring (3)
- 点滴生活 (1)
- DOS (1)
- CAS (4)
- Linux (9)
- Storm (6)
- Shell (1)
- regex (1)
- Collection (4)
- poi (1)
- 经典语句 (1)
- NIO (5)
- concurrent (14)
- RPC (1)
- zookeeper (3)
- 待整理 (2)
- Hadoop (9)
- RabbitMq (2)
- flume (1)
- hive (7)
- hbase (4)
- kafka (1)
- scala (1)
- GC (0)
- java.util.concurrent.atomic (1)
- java.lang.ref (6)
- JVM (2)
- algorithm (1)
- conception (1)
- java key word (1)
- sun.misc (1)
最新评论
Lock
一、
1.
2.
一、
1.
public class ThreadSynchronizedDemo { public static String name = "zhang" ; public static Integer age = 25 ; /** * @param args */ public static void main(String[] args) { /** * 预期输出: * zhang : 25 * li : 24 * 实际输出: * 各种组合, * 原因: * 线程的执行时无序的,谁先执行取决于谁先占用CPU * 即,可能出现 先printDemo 打印一般的时候,ChangeDemo 生效修改了 其他的值 */ new Thread(new PrintDemo()).start(); new Thread(new ChangeDemo()).start(); } } class PrintDemo implements Runnable{ @Override public void run() { while(true){ System.out.println("name:"+ThreadSynchronizedDemo.name+" age:"+ThreadSynchronizedDemo.age); } } } class ChangeDemo implements Runnable{ @Override public void run() { while(true){ if("zhang".equals(ThreadSynchronizedDemo.name)){ ThreadSynchronizedDemo.name = "li"; ThreadSynchronizedDemo.age = 24 ; }else{ ThreadSynchronizedDemo.name = "zhang" ; ThreadSynchronizedDemo.age = 25 ; } } } }
2.
public class ThreadSynchronizedDemo { public static String name = "zhang" ; public static Integer age = 25 ; public static void main(String[] args) { /** * Synchronized: * 代码块锁机制 * 1.锁加在哪:欲同步的位置 * 2.锁对象: * 共享的资源/类的字节码 class / 某一不变的对象 private static final Object object */ new Thread(new PrintDemo()).start(); new Thread(new ChangeDemo()).start(); } } class PrintDemo implements Runnable{ @Override public void run() { while(true){ synchronized (ThreadSynchronizedDemo.class) { System.out.println("name:"+ThreadSynchronizedDemo.name+" age:"+ThreadSynchronizedDemo.age); } } } } class ChangeDemo implements Runnable{ @Override public void run() { synchronized (ThreadSynchronizedDemo.class) { while(true){ if("zhang".equals(ThreadSynchronizedDemo.name)){ ThreadSynchronizedDemo.name = "li"; ThreadSynchronizedDemo.age = 24 ; }else{ ThreadSynchronizedDemo.name = "zhang" ; ThreadSynchronizedDemo.age = 25 ; } } } } }
发表评论
-
Queue
2017-08-21 21:26 459Queue 一、Queue ConcurrentLink ... -
容器集合
2017-08-19 18:18 400容器 一、同步类容器 1.概念 同步类容器都是线程安全的, ... -
多线程-单例模式
2017-08-17 20:59 351单例模式 一、概念 饿汉模式、懒汉模式 二、示例 ... -
ThreadLocal
2017-08-17 21:02 295ThreadLocal 一、概念 ThreadLocal ... -
线程间通信 wait notify
2017-08-15 22:12 428线程间通信 一、通信 线程通信概念:线程是操作系统中独立的 ... -
Volatile
2017-08-14 22:11 394Volatile 一、概念 volatile : 作用是保 ... -
Synchronized
2017-08-13 18:46 405Synchronized 一、锁重入 1.概念 关键字 s ... -
脏读(数据)
2017-08-13 17:47 435脏读 一、概念 数据写入与数据读出不一致 原因:未对写入 ... -
线程安全
2017-08-12 20:55 387线程安全 一、线程安全 线程安全概念: 当多个线程访问某一 ... -
ExecutorService
2017-04-17 22:32 779ExecutorService 1. 线程池的意义: 维护一 ... -
CountDownLatch
2017-04-16 12:38 437一、CountDownLatch 一个同步辅助类,在完成一组 ... -
ConcurrentHashMap
2017-04-16 11:01 339一、 hashMap线程不安全hashTable线程安全,对 ... -
BlockingQueue
2017-04-15 22:40 535参考内容:http://tool.oschina.net/ap ...
相关推荐
标题中的"Capslock++"指的是一个利用AutoHotkey脚本技术改造 Capslock 键的工具,旨在提升用户在计算机操作中的工作效率。Capslock键通常用于切换字母大小写,但通过 Capslock++,我们可以将其功能扩展到更高效的...
"lock(this)的使用说明" lock(this)是C#语言中的一种同步机制,用于确保在多线程环境下对共享资源的访问安全。通过使用lock(this)语句,可以保证在同一时刻只有一个线程可以访问某个资源,防止多个线程同时访问同...
关键字-回车映射-ahk回车映射-左手回车 ;;快捷键x说明 上下左右 ... CapsLock+q 箭头上--防止误触屏-CapsLock+q也映射为箭头上 ;; CapsLock+e 删除键-删除前面的-Backspace ;; CapsLock+r 删除键-删除后面的--Del
### 彻底理解 Oracle 中 Library Cache Lock 的成因与解决办法 #### 一、引言 在日常数据库管理工作中,经常会遇到一些让人头疼的问题,比如会话挂起(hang)。其中一个常见的情况是当用户尝试执行某些操作时,比如...
《lock4j高性能分布式锁详解》 分布式锁是分布式系统中的关键组件,它在多节点共享资源时确保了数据的一致性和并发控制。lock4j作为一款高性能的分布式锁,为开发者提供了简单易用且高效的解决方案。本文将深入探讨...
在计算机使用过程中,CapsLock键是一个非常特殊的功能键,它用于切换输入的大写和小写字母。对于程序员或者日常用户来说,了解CapsLock键的状态有时是必要的,例如在编写代码时确保大小写的正确性,或者在输入密码时...
标题中的“判断Caps Lock键是否开/关”指的是在编程或系统操作中,我们需要检测计算机上的Caps Lock(大写锁定)键是否处于开启或关闭状态。这个功能在各种应用场景中都可能用到,例如,为了确保用户在输入密码时...
`yarn.lock` 和 `package-lock.json` 文件都是npm和yarn包管理器为了确保项目依赖一致性而生成的文件。本篇文章将详细探讨这两个文件的作用、差异以及如何实现它们之间的相互转换。 ### `yarn.lock` 文件 `yarn....
significance of a lock-in amplifier. As an introduction to the subject there follows a simple intuitive account biased towards light measurement applications. All lock-in amplifiers, whether ...
标题中的“笔记本电脑大写键CAPSLOCK状态显示软件”是指一个专为笔记本电脑设计的程序,该程序能够实时显示当前大写锁定键(CAPSLOCK)的状态。开发者使用C#编程语言创建了这个应用,这表明它基于.NET框架运行,并且...
本文将深入探讨C#中如何使用Lock和Redis分布式锁来解决并发问题,以秒杀系统为例进行阐述。 首先,让我们理解什么是并发控制。并发控制是指在多线程环境下确保数据的一致性和完整性,防止多个线程同时访问同一资源...
redisson lock和tryLock 分布式锁简单练习
Folder Lock 是一款非常流行的文件加密和隐私保护软件,它可以帮助用户轻松地锁定、隐藏或加密其重要的文件、照片、视频等个人数据。这款软件适用于多种操作系统,包括 Windows 和 macOS,并且具有高度的安全性和...
Lock锁是对象锁,仅在同一对象中,锁才会生效。(不做论证) (以下场景皆为单例模式下运行) lock.lock()的加锁方式,会使后续请求的线程堵塞等待。(方案A) lock.tryLock()的加锁方式,不会堵塞,会立即返回加锁...
### 解决ArcSDE版本lock问题 #### 一、引言 在GIS(地理信息系统)领域,ArcSDE 是一种广泛使用的空间数据库引擎,它能够有效地管理大量的空间数据。然而,在实际操作过程中,用户可能会遇到...
标题中的“技嘉BIOS解锁CFG Lock AMIBCP.zip”是指一项针对技嘉主板BIOS的修改操作,目的是解锁CFG Lock功能。CFG Lock是许多现代主板上的一项安全设置,用于防止用户非授权地更改CPU的超频选项,以保护系统稳定性和...
标题 "NumLocker_v1.0_numlock_" 暗示我们正在处理一个名为 "NumLocker" 的软件版本1.0,其主要功能可能与“numlock”键有关。描述中的 "lock num" 提示该软件可能专注于锁定或管理计算机键盘上的数字锁定(NumLock...
标题 "Windows 中 Caps Lock 键映射到 Ctrl (或 Shift)" 涉及的是操作系统中的一个自定义设置,主要是为了提高程序员和其他用户的工作效率。在默认情况下,Caps Lock 键用于切换大写和小写字母,但对于许多人来说,...
`lock`语句是C#中用于实现线程同步的重要工具,主要是为了解决多个线程并发访问共享资源时可能出现的竞争条件(race condition)问题。在描述的场景中,`lock`关键字被用来确保在同一时间只有一个线程可以访问特定的...