您的位置 首页 java

Java基础第四讲-多线程-同步代码块synchoronized

Java基础第四讲-多线程-同步代码块synchoronized

1、同步代码块:synchronized

多线程 并发, 有多段代码同时执行时, 我们希望某一段代码执行的过程中CPU不要切换到其他 线程 工作. 这时就需要同步。

如果两段代码是同步的, 那么 同一时间只能执行一段 , 在一段代码没执行结束之前, 不会执行另外一段代码。

synchronized关键字加上一个锁对象就可以同步代码,这个锁对象可以是任意的一个对象,只要求是同一个就行。

现在在主函数里面创建2条线程执行:如果不加synchronized(d),可能输出print1 和print2就会出现乱序的问题(你好呀TO)。

2、同步方法:synchronized

使用synchronized关键字修饰一个方法, 该方法中所有的代码都是同步的。

注意:

非静态同步函数的锁是:this (因为创建的对象是同一个,此时的this就代表new的那个对象)

静态static的同步函数的锁是:字节码对象 (因为使用 类名.方法 调用 ,类名是同一个)

3、 线程安全

多线程并发操作同一数据时 , 就有可能出现线程安全问题,使用同步技术可以解决这种问题, 把操作数据的代码进行同步, 不要多个线程一起操作。

文章来源:智云一二三科技

文章标题:Java基础第四讲-多线程-同步代码块synchoronized

文章地址:https://www.zhihuclub.com/199160.shtml

关于作者: 智云科技

热门文章

网站地图