官术网_书友最值得收藏!

Summary

By now, I hope I have proved to you that you can write reactive applications using core.async. It's an extremely powerful and flexible concurrency model with a rich API. If you can design your solution in terms of queues, it is more than likely that core.async is the tool you want to reach for.

This version of the stock market application is shorter and simpler than the version that uses only the standard Java API we developed earlier in this book in Chapter 3, Asynchronous Programming and Networking. For instance, we didn't have to worry about thread pools. On the other hand, it feels like it is a little more complex than the version we implemented using Reactive Extensions in Chapter 3, Asynchronous Programming and Networking.

This is because core.async operates at a lower level of abstraction when compared to other frameworks. This became especially obvious in our application, as we had to worry about creating broadcasting channels, go loops, and so on—all of which can be considered incidental complexity, and not directly related to the problem at hand.

core.async does, however, provide an excellent foundation for building our own CES abstractions. This is what we will be exploring in the next chapter, when we create our own framework using core.async as a foundation.

主站蜘蛛池模板: 德惠市| 八宿县| 枞阳县| 大竹县| 新津县| 英德市| 中山市| 馆陶县| 灵武市| 铜梁县| 桦南县| 土默特左旗| 聊城市| 万山特区| 永丰县| 津南区| 洛阳市| 平泉县| 鹤壁市| 鹿泉市| 彝良县| 鞍山市| 广州市| 莫力| 缙云县| 灌阳县| 漾濞| 平罗县| 阿城市| 新宁县| 普定县| 巴里| 和顺县| 信阳市| 都江堰市| 石河子市| 五家渠市| 黑水县| 清涧县| 葵青区| 正定县|