学习线程同步的总结

来源:互联网 发布:餐饮库存软件 编辑:程序博客网 时间:2024/06/05 21:05

线程的同步

线程同步的作用:

       实现线程间的有机交互、并确保共享资源在某些关键时段只能被一个线程访问。

       避免线程的安全隐患。

互斥锁:

每个对象都对应于一个可称为互斥锁的标记,这个标记用来保证在任一时刻,只能有一个线程访问该对象。

Java对象默认是可以被多个线程共用的,只是在需要时才启动互斥锁机制,成为专用对象。

关键字synchronized用来与对象的互斥锁联系

当某个对象用synchronized修饰时,表明该对象已启动互斥锁机制,在任一时刻只能由一个线程访问,即使该线程出现堵塞,该对象的被锁定状态也不会解除,其他线程任不能访问该对象。

线程同步的优缺:

同步好处:决了线程安全问题

同步弊端:降低了运行效率(判断锁是较为消耗资源的)

同步嵌套,容易出现死锁

同步的两种表现形式:

1.同步代码块

   synchronized(对象){

 

       需要同步的代码

}

 

 

2.同步函数:使用的锁是this

 

  public synchronized void show(){

 

}

 

原创粉丝点击