19/04/13,我想写些并发相关的理解,今时今日可能还没有那么深刻,但是如果某一天重新理解一遍的话,会不会有乾隆帝见到了小燕子的那把油纸伞呢!未名湖畔夏雨荷,千金难买意难忘!
一、线程安全:
当多个线程访问一个对象时,如果不考虑这些线程在运行时环境下的调度和交替运行,也不需要进行额外的同步,或者在调用方进行任何的协调操作,调用这个对象的行为都可以获得正确的结果,那这个对象就是线程安全的。
1、不可变:final修饰,如Integer、BigInteger、BigLong
2、绝对线程安全:
3、相对线程安全:vector、hashtable等,通常意义上的线程安全
4、线程兼容:hashmap、arrayList等,可以通过同步手段保证安全
5、线程对立:suspend、resume、system.setin()、system.setout()等
二、保证线程安全的方法
三、并发编程的挑战
1、上下文切换
2、死锁
3、资源受限
特此记录,见证成长的留念。