string 线程安全
线程安全:
class Program
{
public delegate void MyDelegate(string aa);
static void Main(string[] args)
{
MyDelegate dele = new MyDelegate(LockTest);
MyDelegate dele1 = new MyDelegate(LockTest);
dele.BeginInvoke("aa", null,null);
dele1.BeginInvoke("aa", null, null);
Console.ReadKey();
} private static void LockTest(string aa)
{
string thisServiceLock = string.Intern(aa+"_lockCheck");
lock (thisServiceLock)
{
Console.WriteLine("线程ID" + Thread.CurrentThread.ManagedThreadId.ToString());
Thread.Sleep();
Console.WriteLine("线程ID" + Thread.CurrentThread.ManagedThreadId.ToString());
}
}
}
线程不安全:
线程不安全:
线程不安全;
线程安全:
线程不安全:
线程安全:
线程安全:
线程安全:
线程安全:
线程不安全:
线程安全:
线程不安全:
原理:https://blog.csdn.net/soonfly/article/details/70147205
https://www.jianshu.com/p/af6eb8d3d4bf
string 线程安全的更多相关文章
- java 之前的安全的类回顾,以及以后需要线程安全时使用哪些类
之前所学习到的线程安全的类: StringBuffer:线程安全的可变字符序列.一个类似于 String 的字符串缓冲区,但不能修改. Vector:Vector 类可以实现可增长的对象数组. Has ...
- Delphi线程池
unit uThreadPool; { aPool.AddRequest(TMyRequest.Create(RequestParam1, RequestParam2, ...)); } inte ...
- delphi 自我删除和线程池(1000行代码,需要仔细研究)
unit Unit4; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms ...
- 一个故事讲明白线程的私家领地:ThreadLocal
张大胖上午遇到了一个棘手的问题,他在一个AccountService中写了一段类似这样的代码: Context ctx = new Context(); ctx.setTrackerID(.....) ...
- JAVA线程池学习,ThreadPoolTaskExecutor和ThreadPoolExecutor有何区别?
初学者很容易看错,如果没有看到spring或者JUC源码的人肯定是不太了解的. ThreadPoolTaskExecutor是spring core包中的,而ThreadPoolExecutor是JD ...
- String、StringBuilder、StringBuffer 区别
public static void testStringBuffer(){ long start System currentTimeMillis(); StringBuffer sbuf = ne ...
- 02 如何创建线程 线程并发与synchornized
所有程序运行结果 请自行得出 创建线程方式一:继承Thread类 步骤: 1,定义一个类继承Thread类. 2,覆盖Thread类中的run方法. 3,直接创建Thread的子类对象创建线程. 4, ...
- 关于线程安全Dictionary
使用Dictionary时, 是线程不安全的(). 会出现以下的问题, 导致IIS挂掉: 其实DicMapper是不为NUL的, DicMapper["aaasdfasdfasdfzxc ...
- 你必须搞清楚的String,StringBuilder,StringBuffer
String,StringBuilder 以及 StringBuffer 这三个类的关系与区别一直是 Java 的经典问题,这次就来讲一下关于这三个类的一些知识 一. 简单对比 String : 字符 ...
随机推荐
- python学习之itsdangerous模块
类 from itsdangerous import URLSafeTimedSerializer as ustsr class ustsr(secret_key) 参数: secret_key可以是 ...
- 一些有用的Sql语句
1.插入数据后,返回插入的Id ')
- Java EE各种documentation
总之通用的法则,google:"XxxName documentation" 例如,如果要查看JSTL的reference manual,google:jstl doc即可,ora ...
- bash deploy.sh 通过bash命令 执行scp -r 命令将本地文件拷贝到服务器
deploy.sh 文件内容如下 #!/bin/bash #scp -r ./* root@XXXXX:/root/sunSH/xadserver/ function getdir(){ for el ...
- hdu3374(最小最大表示法以及kmp)
题意:输出一个环形字符串的最小字典序的首位置,以及最大字典序的首位置,以及这个字符串的原字符串的循环节....... #include<iostream> #include<stdi ...
- VBA学习笔记(4)--数组和单元格互相转换
说明(2017.3.23): 1. VBA的数组还是很难用的,其实就是非常难用! 2. 要先定义一个数组,可以是空的,也可以里面写个数字作为数组长度. 3. 如果是空数组,可以后面redim重新定义数 ...
- windows server 2008 域控安装
windows server 2008 域控安装:1.dns安装,安装过程会提示.net frame 3.51安装 3.域控安装 原文:地址 http://wenku.baidu.com/link?u ...
- OC基础--常用类的初步介绍与简单实用之NSString
一.NSString:不可变字符串/NSMutableString:可变字符串 1>字符串的常用创建方式: (1)NSString *s1 = @"Chaos"; (2)NS ...
- java- ★学习资源★
何静媛: http://blog.csdn.net/hejingyuan6/article/category/2367993 孤傲苍狼-java基础总结: http://www.cnblogs.com ...
- js学习笔记15----子节点和兄弟节点的操作
1.元素.firstChild : 只读属性,第一个子节点 标准下:会包含文本类型的子节点. 非标准下:只包含元素类型子节点. 元素.firstElementChild : 只读属性,第一个元素子节点 ...