sleep : 使线程停止一段时间执行,时间到后,不一定立即恢复,依照优先级和时间片‘
wait : 调用wait的线程暂停执行,等待其他线程调用该同步监视器的notify或notifyAll方法,被唤醒、
windows32环境中 , 线程的3中基本模型 :
- 单线程——一个线程完成所有应用程序任务
- 单元线程——多个线程,单元线程的代码在自己的线程中执行,并限制在自己的单元中,所有线程都在主应用程序内存中各自的字段范围内运行
- 自由线程——多个线程同时调用相同的方法和组件,共享应用程序的内存空间,注意同步
同步和异步
同步:线程间共享数据,读写需要保证原子性
异步:应用程序在对象上调用一个需要花费长时间的操作方法,并且不希望让程序等待方法的返回,应用异步编程,大部分情况下,异步效率高
synchronized与java.util.concurrent.locks.Lock的区别
相同点:Lock可以完成synchronized所实现的所有功能
不同点:Lock有比synchronized的更精确的语义和更好的性能,synchronized的会自动释放锁,而Lock需要程序员显示释放锁,且在finally块中
版权声明:本文为u011281810原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。