如果println函数的参数为常量则不会出现线程并发问题,但是如果参数为表达式形式,则JVM在执行println函数的时候会分为几步来执行,从而造成并发问题。...
分类:
编程语言 时间:
2014-10-23 16:19:35
阅读次数:
183
在聊聊高并发(六)实现几种自旋锁(一) 这篇中实现了两种基本的自旋锁:TASLock和TTASLock,它们的问题是会进行频繁的CAS操作,引发大量的缓存一致性流量,导致锁的性能不好。
对TTASLock的一种改进是BackoffLock,它会在锁高争用的情况下对线程进行回退,减少竞争,减少缓存一致性流量。但是BackoffLock有三个主要的问题:
1. 还是有大量的缓存一致性流量,...
分类:
其他好文 时间:
2014-10-23 12:40:05
阅读次数:
217
SimpleDateFormat 是一个以国别敏感的方式格式化和分析数据的具体类。 它允许格式化 (date -> text)、语法分析 (text -> date)和标准化。
但是 SimpleDateFormat 并不是一个线程安全的类,在多线程并发访问下会出现问题。通过以下代码进行检验,...
分类:
编程语言 时间:
2014-10-19 18:43:01
阅读次数:
318
在看《Cplusplus Concurrency in Action Practical Multithreading》。记录一下学习过程,这是第三章最后,关于使用锁的部分。...
分类:
其他好文 时间:
2014-10-17 22:00:54
阅读次数:
196
在看《Cplusplus Concurrency in Action Practical Multithreading》。记录一下学习过程,这是第三章关于死锁的部分。...
分类:
其他好文 时间:
2014-10-16 20:51:13
阅读次数:
254
编程开发中为什么要用到单例模式?单例模式的存在,一则,解决多线程并发访问的问题。二则节约系统内存,提交系统运行的效率,提高系统性能。单例模式的代码: 1 public class Printer { 2 private static Printer printer =null;//创建一个私...
分类:
其他好文 时间:
2014-10-15 23:41:01
阅读次数:
230
1.进程和线程
1.1 概述:
进程是具有一定独立功能的程序关于某个数据集合上的一次运行活动,进程是系统进行资源分配和调度的一个独立单位.
线程是进程的一个实体,是CPU调度和分派的基本单位,它是比进程更小的能独立运行的基本单位.线程自己基本上不拥有系统资源,只拥有一点在运行中必不可少的资源(如程序计数器,一组寄存器和栈),但是它可与同属一个进程的其他的线程共享进程所拥有的全部资源.
一个...
分类:
编程语言 时间:
2014-10-15 14:24:30
阅读次数:
134
VS 2005使用map文件查找程序崩溃原因一般程序崩溃可以通过debug,找到程序在那一行代码崩溃了,最近编一个多线程的程序,都不知道在那发生错误,多线程并发,又不好单行调试,终于找到一个比较好的方法来找原因,通过生成map文件,由于2005取消map文件生成行号信息(vc6.0下是可以生成行号信...
分类:
其他好文 时间:
2014-10-14 01:45:47
阅读次数:
262
在看《Cplusplus Concurrency in Action Practical Multithreading》。记录一下学习过程,这是第三章关于线程互斥量的部分。...
分类:
其他好文 时间:
2014-10-14 00:58:17
阅读次数:
362
在看《Cplusplus Concurrency in Action Practical Multithreading》。记录一下学习过程,这是第三章开始部分,谈什么事资源竞争(race condition)以及有哪些方法来避免。...
分类:
其他好文 时间:
2014-10-13 14:00:09
阅读次数:
184