线程安全:一个函数被称为线程安全的(thread-safe),当且仅当被多个并发进程反复调用时,它会一直产生正确的结果。如果一个函数不是线程安全的,我们就说它是线程不安全的(thread-unsafe)。我们定义四类(有相交的)线程不安全函数。 第1类:不保护共享变量的函数 将这类线程不安全函数变为... ...
分类:
编程语言 时间:
2016-09-05 21:01:35
阅读次数:
176
Unsafe类在jdk 源码的多个类中用到,这个类的提供了一些绕开JVM的更底层功能,基于它的实现可以提高效率。但是,它是一把双刃剑:正如它的名字所预示的那样,它是 Unsafe的,它所分配的内存需要手动free(不被GC回收)。Unsafe类,提供了JNI某些功能的简单替代:确保高效性的同时,使事 ...
分类:
编程语言 时间:
2016-08-27 19:25:16
阅读次数:
315
最近在看Java并发包的源码,发现了神奇的Unsafe类,仔细研究了一下,在这里跟大家分享一下。 Unsafe类是在sun.misc包下,不属于Java标准。但是很多Java的基础类库,包括一些被广泛使用的高性能开发库都是基于Unsafe类开发的,比如Netty、Cassandra、Hadoop、K ...
分类:
编程语言 时间:
2016-08-22 21:19:53
阅读次数:
346
前言: 闲着无聊想把之前跟h学长学的hook程序换成C#再跑一遍。但是奈何C#限制内存访问程度超过我的想象,我用了unsafe,结果还是报了尝试访问受保护的内存错误。无奈之下寻求H学长帮助。他给了我点提示,Virtual Protect。接下来又和他聊了一会儿,我说:难以想象你特么当时都学了多少东西 ...
分类:
其他好文 时间:
2016-08-22 10:47:47
阅读次数:
171
#gtid相关配置:enforce_gtid_consistency=true#强制gtid已执行检查必须开启(静态参数)disable-gtid-unsafe-statementshttp://imysql.cn/2012/09/21/mysql-faq-can-not-login-after-new-install.htmlgtid_mode=on#开启gtid复制(静态参数)log_slave_updates=true#将语句写入二进..
分类:
数据库 时间:
2016-08-20 14:48:31
阅读次数:
374
使用unsafe代码 Unsafe, fixed, stackalloc 由于C#可以使用元数据,验证函数签名、对象类型,保证执行过程的安全,如果要使用指针,则不能进行验证,用unsafe表示。unsafe可以指定类、方法和代码段,可以在unsafe的上下文使用指针,指针只能指向简单的“非托管”值类... ...
CAS原语 CAS(compare and swap)是一组原语指令,用来实现多线程下的变量同步。 public final boolean compareAndSet(int expect, int update) { return unsafe.compareAndSwapInt(this, v ...
分类:
其他好文 时间:
2016-08-12 21:22:51
阅读次数:
194
使用vs2015打开图片,遇到如下错误。 1> 已启动生成: 项目: ImageScale3, 配置: Debug Win32 1> ImageScale3Dlg.cpp1>d:\program files (x86)\opencv2.4.13\opencv\build\include\opencv ...
分类:
其他好文 时间:
2016-08-11 22:46:13
阅读次数:
393
1.什么是受管制的代码? 答:unsafe:非托管代码。不经过CLR运行。 2.net Remoting 的工作原理是什么? 答:服务器端向客户端发送一个进程编号,一个程序域编号,以确定对象的位置。 3.O/R Mapping 的原理 答:利用反射,配置将对象和数据库表映射。 4.remoting和 ...
分类:
Web程序 时间:
2016-07-13 21:47:15
阅读次数:
165
error C4996: 'fopen': This function or variable may be unsafe. Consider using fopen_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. 项目 ...
分类:
其他好文 时间:
2016-07-09 22:18:10
阅读次数:
222