volatile 关键字:
1)java允许各线程保存共享成员变量的私有副本,线程进入或离开同步代码块时与共享成员变量的原始值进行比较。但有了volatile关键字后,代表该成员变量不能保存私有副本,直接与成员变量交互。从共享内存中读取该值,发生变化时,强迫存到内存。不同线程的共享成员变量是同一个值
但屏蔽了必要的代码优化功能,效率较低
2)对变量的写操作不依赖于其当前值
原子操作:
操作从开始到结束,中间不会有任何线程切换操作,用volatile关键字
线程安全:
使用共享资源时,保证资源任何时候都是原子的,资源就是线程安全;若需要用户采取同步措施来保证访问的共享资源,则资源不是线程安全。
死锁:
当一个线程等待另一个线持有的锁,而这个线程又在等待前一个线程所持有的锁,陷入无休止的相互等待的状态,
自定义类加载器在Java嵌入式浏览器和小应用程序浏览器中起着重要的作用
线程:在java虚拟机进程环境中,以线程的方式运行所有程序代码
Java虚拟机自动为每个执行的java应用程序简历默认的main线程(主线程)
创建线程的方法:
extends Runnable implements Thread
Implements Runnable