一个Promise对象代表一个目前还不可用,但是在未来的某个时间点可以被解析的值。它允许你以一种同步的方式编写异步代码。
Promise有三种状态:
- pending(没有fulfilled或者rejected)
- fulfilled
- rejected
Promise的一种实现方式:
一个Promise对象代表一个目前还不可用,但是在未来的某个时间点可以被解析的值。它允许你以一种同步的方式编写异步代码。
Promise有三种状态:
Promise的一种实现方式:
公司的dev团队有些类似固定数目线程池,每个开发人员相当于其中的一个线程:
ps:
Java Enum is a type like class and interface and can be used to define a set of Enum constants. Enum constants are implicitly static and final and you can not change their value once created. Enum in Java provides type-safety and can be used inside switch statement like int variables.
Benefits:
Java线程与操作系统中轻量级进程是一一对应的关系。 为了实现并发,可以创建多个线程,如何管理这些线程,可使用线程池的方式。 当多个线程对同一资源进行访问时,可能会出现不一致的情况, 为了防止这种情况的发生可以使用锁的方式,或者当该资源是原子类时,也能保证同一时刻只有一个线程访问该资源。
Java内存模型是围绕着并发过程中如何处理原子性、可见性、有序性这三个特征来建立的:
| “阻塞”与"非阻塞"与"同步"与“异步"不能简单的从字面理解,提供一个从分布式系统角度的回答。 | |
| 1.同步与异步 | |
| 同步和异步关注的是消息通信机制 (synchronous communication/ asynchronous communication) | |
| 所谓同步,就是在发出一个*调用*时,在没有得到结果之前,该*调用*就不返回。但是一旦调用返回,就得到返回值了。 | |
| 换句话说,就是由*调用者*主动等待这个*调用*的结果。 | |
| 而异步则是相反,*调用*在发出之后,这个调用就直接返回了,所以没有返回结果。换句话说,当一个异步过程调用发出后,调用者不会立刻得到结果。而是在*调用*发出后,*被调用者*通过状态、通知来通知调用者,或通过回调函数处理这个调用。 | |
| 典型的异步编程模型比如Node.js |