队列和同步锁备忘
来源:互联网 发布:网络银行业务 编辑:程序博客网 时间:2024/06/06 09:05
在不同线程中传递对象,尤其是匿名内部类对象,比如在A线程中初始化匿名内部类,传递到B线程中,在B线程中调用,相当于B线程中调用这个匿名内部类对应的外部对象。
不同线程调用,是主动调用这个匿名内部类对应的对象,可能造成并发问题,可以加锁。
队列是一个容器,也在不同线程中调用,但是因为主要作用是事件通知类型的,也就是说是异步模式,一个线程中发出这个消息放到队列中,另一个线程中去取出消息并触发事件,和上面的不同主要是队列是异步模式,多用在事件通知,上面是主动调用模式。
多线程加同步锁,或者使用单线程队列,都可以解决并发的问题,但是用法不一样。
android中在不同线程中传递了handle匿名内部类,但是使用的是队列调用,主要原因是一个UI程序,在刷新界面元素的机制上,最好像事件通知一样,一个线程循环取出事件并执行,理论上,不同线程中加锁调用handle改变UI也可以做到,但是决定UI显示的对象,在不同线程中实时改变,造成的一些问题可能不好解决,比较复杂。
总结,在解决并发问题时,优先是同步锁,单线程队列并不是解决多线程并发问题的,而是异步通知的。
0 0
- 队列和同步锁备忘
- 【数据结构与算法】栈和队列 备忘
- 队列、同步与锁
- 6.1.3 队列和同步
- 6.1.3 队列和同步
- iOS GCD同步队列和同步任务 堵塞和死锁
- 【多线程高并发】 同步容器和队列
- 切勿混淆串行队列、并行队列和同步、异步
- 同步队列
- 同步队列
- 是否加锁同步备忘
- python3.4多线程实现同步的四种方式(锁机制、条件变量、信号量和同步队列)
- 自定义锁中的同步队列与等待队列
- android 随笔——队列、同步、锁
- 多用派发队列,少用同步锁
- Win32线程同步(笔记备忘)
- Linux下多任务间通信和同步-消息队列
- Linux下多任务间通信和同步-消息队列
- Linux下搭建Apache服务器
- window下Gradle安装
- robotframework应用入门
- HDU 5900 QSC and Master 区间DP
- 使用bootstrap实现标签切换
- 队列和同步锁备忘
- viewpager导航栏(源码用别人的,稍作改造,留自己以后用)
- React Native 打包APK(Windows)
- 设置drawableRight等图片离文字间隔太远解决小窍门
- CCF-高速公路
- 前段工具vue 还是react
- Nginx详细介绍
- UnityShader Legacy Texture Combine
- OPenCV 的mat类