2016 - 2024

感恩一路有你

线程同步的几种方式 什么是线程的同步?为什么要实现线程的同步?

浏览量:3030 时间:2021-03-12 05:15:36 作者:admin

什么是线程的同步?为什么要实现线程的同步?

线程同步:多个线程同时访问同一个资源,等待资源访问的结束,浪费时间,效率低

线程异步:访问资源时,空闲等待的同时访问其他资源,实现多线程机制

异步处理是,如果你现在问我一个问题,我不能回答你,然后我可以在我使用时间的时候处理你的问题,同步信息立即被处理——直到信息处理完成后才返回消息句柄;异步信息接收后会在后台处理一段时间——最早在信息处理结束前返回消息句柄

区分同步和异步

一个进程启动的多个无关线程,它们之间的关系是异步的。

同步必须执行到最后才能执行其他操作,异步可以任意操作

同步的优缺点

优点:解决了线程安全问题。

缺点:每次都有判断锁,降低效率。

但是在安全和效率之间,首先考虑的是安全。

同步的前提

1。当多个线程执行时,需要同步。如果是单线程,则不需要同步。

2、多个线程在执行期间是否使用同一个锁。如果是,那就是同步。否则,它不是同步的。

Synchronized(obj){}相同的锁

Synchronized(new object){}不是相同的锁

同步需要在run()中同步的代码。如果某些代码不需要同步,请不要将其放入同步代码块中。

有两种形式的同步:

1。同步码块,同步关键字封装的代码为同步码块;

2。同步函数,同步关键字修改的函数为同步函数。

同步代码块的锁可以是任何对象,因此可以在执行前创建锁对象。那么同步功能的锁在哪里呢?

同步函数的锁是调用同步函数的对象,即。

如果同步功能由静态修改,则同步功能的锁是由堆内存中的类形成的类文件对象。

此时,可能没有此类的对象,但必须有此类的字节码文件对象。

线程同步的几种方式 线程同步的方法 线程同步机制

版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。