synchronized的意义
来源:互联网 发布:淘宝商业模式研究 编辑:程序博客网 时间:2024/05/02 19:50
1.synchronized的意义synchronized用于多线程设计,有了synchronized关键字,多线程程序的运行结果将变得可以控制。synchronized关键字用于保护共享数据。2.synchronized实现同步的机制synchronized依靠"锁"机制进行多线程同步,"锁"有2种,一种是对象锁,一种是类锁。3.此下面2种是依靠对象锁锁定,初始化一个对象时,自动有一个对象锁。synchronized {普通方法}依靠对象锁工作,多线程访问ynchronized方法,一旦某个进程抢得锁之后,其他的进程只有排队对待。synchronized void method{}功能上,等效于void method{ synchronized(this) }}synchronized {修饰代码块}的作用不仅于此,synchronized void method{}整个函数加上synchronized块,效率并不好。在函数内部,可能我们需要同步的只是小部分共享数据,其他数据,可以自由访问,这时候我们可以用 synchronized(表达式){//语句}更加精确的控制。4.synchronized {static方法}此代码块等效于void method{ synchronized(Obl.class) }}使用该类的类对象的锁定去做线程的共享互斥.5.synchronized {run方法}run方法的锁定.这个举例比较好说。public class MyThread implement Runnable{ public void run(){ for(int i=0;i<10;i++){ System.out.println(i+" "); }}}如果在主程序多线程运行MyThread t=new MyThread (); new Thread(t).start(); new Thread(t).start(); new Thread(t).start(); new Thread(t).start();其结果是混乱不堪的。如果加了synchronized当前线程取完所有数据后,才会释放锁,所以结果可以预知。4个线程输出总是0,1...9
synchronized method(){}可以防止多个线程同时访问这个对象的synchronized方法,如果一个对象有多个synchronized方法,只要一个线 程访问了其中的一个synchronized方法,那么其它线程不能同时访问这个对象中的任何一个synchronized方法,但可以访问这个对象中的非synchronized方法。
- synchronized的意义
- synchronized的意义
- java中同步synchronized的意义,如何用它解决线程不安全的问题
- 的意义
- " / "的意义
- synchronized(class)、synchronized(this)与synchronized(object)的区别分析
- synchronized(this)、synchronized(class)与synchronized(Object)的区别
- synchronized与static synchronized 的区别以及synchronized继承问题
- 生命的意义,在于赋予它意义
- synchronized与static synchronized 的区别
- synchronized与static synchronized 的区别
- synchronized与static synchronized 的区别
- synchronized方法和synchronized块的区别
- synchronized与static synchronized 的区别
- synchronized与static synchronized 的区别
- synchronized与static synchronized 的区别
- synchronized和static synchronized的比较
- synchronized与static synchronized 的区别
- 对话框创建时函数调用顺序
- cisco提供的所有人证列表
- direct基础学习(一) 最简单的Windows程序
- 程序员的十层楼(1~3层)作者: 周伟明
- C#的一些用法
- synchronized的意义
- lookUpEdit使用
- Vista的无奈
- 狄多公主圈地的故事
- 程序员的十层楼(4~5层)作者: 周伟明
- 投影变换--透视投影和正交投影
- 从端口入手看企业如何防范SQL蠕虫
- linux下的tar打包命令示例及详解
- IoCompleteRequest深入学习之一