题目分析:作者正在学习中…
【答案】
- 线程安全就是多线程访问时,采用了加锁机制,当一个线程访问该类的某个数据时,进行保护,其他线程不能进行访问直到该线程读取完,其他线程才可使用。不会出现数据不一致或者数据污染。
- 线程不安全就是不提供数据访问保护,有可能出现多个线程先后更改数据造成所得到的数据是脏数据。
参考文章传送门: link.
【题目拓展】
- 什么情况下会造成线程的不安全?
一是存在共享数据(也称临界资源),二是存在多条线程共同操作共享数据 - 什么是线程,它与进程又有什么关系?
答: link. - 什么是脏数据?
答:一个事物读取了另一个事物未提交的数据(常常是并发操作引起的,并发操作所带来了一致性问题包括:丢失的修改,不可重复读,读“脏”数据,幻读)。 - 关于线程安全的其他结论:
答: ArrayList是非线程安全的,Vector是线程安全的;
HashMap是非线程安全的,HashTable是线程安全的;
StringBuilder是非线程安全的,StringBuffer是线程安全的。