第三章 共享对象
在有的业务场景,不仅需要线程安全读写对象,还要让其他线程得知对象状态的更改,这必须由线程同步机制来完成。
3.1 可见性
当某个变量改变时,如果不运用线程同步机制,将无法确保另外的读线程能马上看到修改的结果。
例如下面的代码:
public class NoVisibility {
private static boolean ready;
private static int number;
private static c[......]
第三章 共享对象
在有的业务场景,不仅需要线程安全读写对象,还要让其他线程得知对象状态的更改,这必须由线程同步机制来完成。
3.1 可见性
当某个变量改变时,如果不运用线程同步机制,将无法确保另外的读线程能马上看到修改的结果。
例如下面的代码:
public class NoVisibility {
private static boolean ready;
private static int number;
private static c[......]
第二章 线程安全
2.1 什么是线程安全
定义1:无状态的对象一定是现成安全的。
@ThreadSafe
public class StatelessFactorizer implements Servlet {
public void service(ServletRequest req, ServletResponse resp) {
BigInteger i = extractFromRequest(req);
BigInteger[......]
1、如何让查询显示出正常的(key-value模式)格式
show table status like '%user%' \G
这个\G可以让数据格式按照比较好看的样式显示出来,恩。
2、关于MyISAM
表锁定,但支持select的时候inert??
修复方法:
check table user;
repair table user;
索引的时候对于text和bolb只支持前500个字符。
支持Delay key write,即主键变动不会马上写入磁盘[......]
转载自:http://roming.javaeye.com/blog/465787
要是有些实例就更好了……
在标准SQL规范中,定义了4个事务隔离级别,不同的隔离级别对事务的处理不同,如未授权读取、授权读取、可重复读取、序列化等。
不同的隔离级别对事务的处理不同:
◆未授权读取(Read Uncommitted):允许脏读取,但不允许更新丢失。如果一个事务已经开始写数据,则另外一个数据则不允许同时进行写操作,但允许其他事务读此行数据。该隔离级别可以通过“排他写锁”实现。[......]