一、在方法上加锁,使用关键字synchronized修饰方法,当并发线程访问该方法时就会发生阻塞,保障方法体时间上只被一个线程所执行;
二、在代码代码块上加锁,同样用关键字synchronized,但是在这里要用大括号包起来。和方法体不同的是,大括号内的代码被线程作为独占资源,并发线程执行时发生阻塞现象。
线程同步是程序开发中不容忽视的大问题,稍有考虑不周会造成非常严重的后果。拿铁道部购票系统为例,某天某个车次票源是固定的,全国各地的人通过互联网去抢这些票源,如何保障售票的准确性就是一个线程同步的例子。
在各行各业的业务操作中还有哪些现象属于这类问题呢?小伙伴们可以思考讨论哦!