java多线程总结笔记4——线程互斥与同步
来源:互联网 发布:淘宝客案例省钱快报 编辑:程序博客网 时间:2024/05/22 09:38
线程互斥
线程互斥靠synchronized关键字来实现。
synchronized(钥匙){互斥区代码}
只有拿到了钥匙才可以进入互斥区代码。
任何对象都可以作为钥匙,不过为了让代码看起来更有意义,一般就将互斥资源作为钥匙。
线程同步
线程同步靠Object类的wait/notify函数来实现,这两个函数只能出现在synchronized的花括号内。
钥匙.wait()使得线程放弃钥匙,然后睡眠等着钥匙,没有其他线程叫它的话它是不会醒的。当然,睡眠时是不会抢钥匙的,所以永远也得不到钥匙。
如果是钥匙.wait(ms)或钥匙.wait(ms,ns)的话,就算没有其它线程叫,时间到了也会自己醒来。
钥匙.notify()使得一个睡眠等着钥匙的线程醒来,以便它可以去抢钥匙然后继续执行剩余的互斥区代码。钥匙.notifyAll()可以叫醒所有睡眠等待钥匙的线程。
0 0
- java多线程总结笔记4——线程互斥与同步
- 多线程编程—线程的同步与互斥
- 多线程七 经典线程同步与互斥总结
- 多线程第七篇 经典线程同步与互斥总结
- 多线程七 经典线程同步与互斥总结
- java基础——多线程(线程的同步互斥与通信)
- java基础——多线程(线程的同步互斥与通信)
- 多线程系列二——java线程间的互斥与同步
- 学习笔记—多线程同步与互斥
- java多线程Thread线程同步与互斥、锁机制
- Java多线程编程总结笔记——六线程的同步与锁
- 线程同步与互斥的总结
- Java多线程-----互斥与同步
- 多线程——线程同步互斥(synchronized)
- Linux — 浅析线程以及多线程的同步与互斥
- java 线程同步与互斥
- 【Java】线程并发、互斥与同步
- JAVA线程的同步与互斥
- Python中如何安装Pmw模块
- SQL行转列
- imagemagick convert生成直方图数据
- ByteArrayOutputStream用法
- Android应用内语言切换实现
- java多线程总结笔记4——线程互斥与同步
- C# 线程管理 abort join
- FPGA机器学习之stanford机器学习第十八堂
- 云环境下的容灾
- 自己的APPS DBA部分的文档可以整理成一本书了
- 首次在matable中安装libsvm碰到的问题和解决方法----" mxGetIr 已过时" 错误
- memcached源码探秘(一)—— hash_table
- 浅析——ExpandableListView的使用
- 时间参考