Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
假设您有两个线程使用同步方法共享一个缓冲区,一种方法用于写入缓冲区,另一种方法用于读取缓冲区。如果阅读器线程发现缓冲区为空,请说明哪个更适合阅读器使用:睡眠或等待。
听起来很像家庭作业,所以我只会给出一个提示。
看看在等待和睡眠期间如何管理锁。他们两个的 javadoc 将解释差异。
等待 睡眠
显然功课如此提示:
问问自己,如果你要选择睡觉,你应该睡多久?如果你选择的超时时间太小会发生什么,如果它太大会发生什么?
反之,填充缓冲区需要多长时间?应用程序是否可以在短时间内缓冲数据,或者它是否需要尽快获得该数据?