LeetCode | 225 Implement Stack Using Queues
分析
为了理解一些不起眼的小零件,是不是本末倒置了??? HaHa, Stack和Queue的添加和删除操作的命名还是具有一定的特点的。这里着重引入
poll
这个词吧,在日常英语中,它通常表示"民意调查",它涉及收集公众的意见或偏好。在这种情况下,"poll"表示为一种查询状态的行为,侧重于收集数据而不是得到即时反馈或执行特定操作。非阻塞
???
- 阻塞(Blocking)
阻塞操作指的是在调用一个函数或方法时,如果该操作不能立即完成(例如,因为需要等待某个事件的发生,如数据达到或资源可用),那么当前线程或进程会被挂起(暂停执行),直到操作完成为止。在这个等待期间,线程或进程无法执行其他任务。
- 等待:调用方必须等待操作完成
- 独占:在等待期间,线程或进程无法做其他事情
- 同步:通常与同步操作相关联,即调用方必须等待操作完成才能继续执行
- 非阻塞(Non-Blocking)
非阻塞操作指的是在调用一个函数或方法时,即使该操作不能立即完成,也不会导致当前线程或进程被挂起。相反,调用方可以选择继续执行其他任务,或者在操作完成时通过回调、事件通知等方式得知
- 立即返回:调用方不会等待操作完成,而是立即返回
- 并发:在等待期间,线程或进程可以执行其他任务
- 异步:通常与异步操作相关联,即调用方不必等待操作完成即可继续执行
1 -> 1
21 -> 12
312 -> 123
4123 -> 1234