{{sellerTotalView > 1 ? __("sellers", {number: sellerTotalView}) : __("seller", {number: sellerTotalView}) }}, {{numTotalView > 1 ? __("items", {number: numTotalView}) : __("item", {number: numTotalView}) }}
free FREE

Change Your Zip Code

Inventory information and delivery speeds may vary for different locations.

Location History

{{email ? __('Got it!') : __('Restock Alert')}}

We will notify you by email when the item back in stock.

Cancel
Yami

Jingdong book

C#多线程编程实战

{{buttonTypePin == 3 ? __("Scan to view more PinGo") : __("Scan to start")}}

C#多线程编程实战

{{__(":people-members", {'people': item.limit_people_count})}} {{ itemCurrency }}{{ item.valid_price }} {{ itemCurrency }}{{ item.invalid_price }} {{ itemDiscount }}
Ends in
{{ itemCurrency }}{{ item.valid_price }}
{{ itemCurrency }}{{ priceFormat(item.valid_price / item.bundle_specification) }}/{{ item.unit }}
{{ itemDiscount }}
{{ itemCurrency }}{{ item.valid_price }} {{ itemCurrency }}{{ priceFormat(item.valid_price / item.bundle_specification) }}/{{ item.unit }} {{ itemCurrency }}{{ item.invalid_price }} {{itemDiscount}}
{{ itemCurrency }}{{ item.valid_price }}
Sale ends in
Sale will starts after Sale ends in
{{ getSeckillDesc(item.seckill_data) }}
{{ __( "Pay with Gift Card to get sale price: :itemCurrency:price", { 'itemCurrency' : itemCurrency, 'price' : (item.giftcard_price ? priceFormat(item.giftcard_price) : '0.00') } ) }} ({{ itemCurrency }}{{ priceFormat(item.giftcard_price / item.bundle_specification) }}/{{ item.unit }}) Details
Best before

Currently unavailable.

We don't know when or if this item will be back in stock.

Unavailable in your area.
Sold Out

Details

Full product details
Editer Recommend

在计算机处理器发展为包含越来越多的核心的时期,多线程是创建可伸缩性、高效的、高响应性应用程序的关键因素。如果你没有正确地使用多线程,它会导致难以捉摸的问题,需要你花费大量时间去解决。因此,现代应用程序开发人员必须深入理解多线程。
《C#多线程编程实战》是一本通俗易懂的C#多线程编程指南,通过70多个容易理解的示例,循序渐进地讲解C#5.0中的异步及并发编程,引导读者了解Windows下C#多线程编程的多样性。
通过阅读本书,你将学到:
使用原始线程、异步线程,以及协调它们工作
使用任务并行库设计自己的异步API
使用C# 5.0异步语言特性
使用I/O线程提高服务器应用程序性能
使用PLINQ并行化LINQ查询
使用Windows 8异步API
使用Reactive Extensions运行异步操作并管理选项

Content Description

2005年,英特尔推出了其首款多核心CPU,从此计算机开始向不同的方向发展。低耗电量及多个计算核心变得比提高行计算(row computing)核心性能更重要。这也导致了编程范式的改变。现在我们需要学习如何有效地使用所有CPU核心来优化性能。我们在编写服务器端应用程序时需要有效地利用多个CPU核心,甚至多台计算机来支持尽可能多的用户。为了创建这样的应用程序,你需要学习如何在程序中有效地使用多个CPU核心。如果你使用的是Microsoft .NET开发平台以及C#编程语言,那么本书将是一个编写高性能、高响应性的应用程序的完美起点。
《C#多线程编程实战》共分为11章,第1章介绍C#中基本的线程操作;第2章描述线程交互细节;第3章解释线程池概念;第4章深入讲解任务并行库框架;第5章深入解释C#5.0中的新功能——异步方法;第6章描述.NET框架中并行算法的标准数据结构;第7章深入讲解并行LINQ基础设施;第8章解释如何以及何时使用Reactive Extensions框架;第9章深入讲解异步I/O进程,包括文件、网络及数据库等场景;第10章针对常见的并行编程问题给出一些解决方案;第11章讲述编写基于Windows 8的异步应用程序的场景。
Author Description

Eugene Agafonov,ABBYY公司Web开发部门主管,有超过15年的专业软件开发经验。从2006年到现在一直是ASP.NET方面的微软最有价值专家,并且经常在当地的软件开发大会上发表演讲。他主要的专业兴趣是基于云的软件架构、可伸缩性和可用性的研究。你可以通过他的个人网站eugeneagafonov.com或twitter账号@eugene_agafonov来联系他。

黄博文,ThoughtWorks高级软件工程师,擅长.Net、Java和JavaScript等编程语言。他拥有AWS解决方案架构师认证,在项目管理中尤其是敏捷实施方面有丰富的经验,目前专注于云计算及DevOps相关技术。译作有《Effective JavaScript》、《HTML 5和CSS3响应式Web设计指南》等。他的个人博客为www.huangbowen.net。
Catalogue

前言
第1章线程基础
1.1简介
1.2使用C#创建线程
1.2.1准备工作
1.2.2实现方式
1.2.3工作原理
1.3暂停线程
1.3.1准备工作
1.3.2实现方式
1.3.3工作原理
1.4线程等待
1.4.1准备工作
1.4.2实现方式
1.4.3工作原理
1.5终止线程
1.5.1准备工作
1.5.2实现方式
1.5.3工作原理
1.6检测线程状态
1.6.1准备工作
1.6.2实现方式
1.6.3工作原理
1.7线程优先级
1.7.1准备工作
1.7.2实现方式
1.7.3工作原理
1.8前台线程和后台线程
1.8.1准备工作
1.8.2实现方式
1.8.3工作原理
1.9向线程传递参数
1.9.1准备工作
1.9.2实现方式
1.9.3工作原理
1.9.4更多信息
1.10使用C#中的lock关键字
1.10.1准备工作
1.10.2实现方式
1.10.3工作原理
1.11使用Monitor类锁定资源
1.11.1准备工作
1.11.2实现方式
1.11.3工作原理
1.12处理异常
1.12.1准备工作
1.12.2实现方式
1.12.3工作原理
第2章线程同步
2.1简介
2.2执行基本的原子操作
2.2.1准备工作
2.2.2实现方式
2.2.3工作原理
2.3使用Mutex类
2.3.1准备工作
2.3.2实现方式
2.3.3工作原理
2.4使用SemaphoreSlim类
2.4.1准备工作
2.4.2实现方式
2.4.3工作原理
2.4.4更多信息
2.5使用AutoResetEvent类
2.5.1准备工作
2.5.2实现方式
2.5.3工作原理
2.6使用ManualResetEventSlim类
2.6.1准备工作
2.6.2实现方式
2.6.3工作原理
2.6.4更多信息
2.7使用CountDownEvent类
2.7.1准备工作
2.7.2实现方式
2.7.3工作原理
2.8使用Barrier类
2.8.1准备工作
2.8.2实现方式
2.8.3工作原理
2.9使用ReaderWriterLockSlim类
2.9.1准备工作
2.9.2实现方式
2.9.3工作原理
2.10使用SpinWait类
2.10.1准备工作
2.10.2实现方式
2.10.3工作原理
第3章使用线程池
3.1简介
3.2在线程池中调用委托
3.2.1准备工作
3.2.2实现方式
3.2.3工作原理
3.3向线程池中放入异步操作
3.3.1准备工作
3.3.2实现方式
3.3.3工作原理
3.4线程池与并行度
3.4.1准备工作
3.4.2实现方式
3.4.3工作原理
3.5实现一个取消选项
3.5.1准备工作
3.5.2实现方式
3.5.3工作原理
3.6在线程池中使用等待事件处理器及超时
3.6.1准备工作
3.6.2实现方式
3.6.3工作原理
3.6.4更多信息
3.7使用计时器
3.7.1准备工作
3.7.2实现方式
3.7.3工作原理
3.8使用BackgroundWorker组件
3.8.1准备工作
3.8.2实现方式
3.8.3工作原理
第4章使用任务并行库
4.1简介
4.2创建任务
4.2.1准备工作
4.2.2实现方式
4.2.3工作原理
4.3使用任务执行基本的操作
4.3.1准备工作
4.3.2实现方式
4.3.3工作原理
4.4组合任务
4.4.1准备工作
4.4.2实现方式
4.4.3工作原理
4.5将APM模式转换为任务
4.5.1准备工作
4.5.2实现方式
4.5.3工作原理
4.6将EAP模式转换为任务
4.6.1准备工作
4.6.2实现方式
4.6.3工作原理
4.7实现取消选项
4.7.1准备工作
4.7.2实现方式
4.7.3工作原理
4.8处理任务中的异常
4.8.1准备工作
4.8.2实现方式
4.8.3工作原理
4.8.4更多信息
4.9并行运行任务
4.9.1准备工作
4.9.2实现方式
4.9.3工作原理
4.10使用TaskScheduler配置任务的执行
4.10.1准备工作
4.10.2实现方式
4.10.3工作原理
第5章使用C# 5.0
5.1简介
5.2使用await操作符获取异步任务结果
5.2.1准备工作
5.2.2实现方式
5.2.3工作原理
5.3在lambda表达式中使用await操作符
5.3.1准备工作
5.3.2实现方式
5.3.3工作原理
5.4对连续的异步任务使用await操作符
5.4.1准备工作
5.4.2实现方式
5.4.3工作原理
5.5对并行执行的异步任务使用await操作符
5.5.1准备工作
5.5.2实现方式
5.5.3工作原理
5.6处理异步操作中的异常
5.6.1准备工作
5.6.2实现方式
5.6.3工作原理
5.7避免使用捕获的同步上下文
5.7.1准备工作
5.7.2实现方式
5.7.3工作原理
5.8使用async void方法
5.8.1准备工作
5.8.2实现方式
5.8.3工作原理
5.9设计一个自定义的awaitable类型
5.9.1准备工作
5.9.2实现方式
5.9.3工作原理
5.10对动态类型使用await
5.10.1准备工作
5.10.2实现方式
5.10.3工作原理
第6章使用并发集合
6.1简介
6.2使用ConcurrentDictionary
6.2.1准备工作
6.2.2实现方式
6.2.3工作原理
6.3使用ConcurrentQueue实现异步处理
6.3.1准备工作
6.3.2实现方式
6.3.3工作原理
6.4改变ConcurrentStack异步处理顺序
6.4.1准备工作
6.4.2实现方式
6.4.3工作原理
6.5使用ConcurrentBag创建一个可扩展的爬虫
6.5.1准备工作
6.5.2实现方式
6.5.3工作原理
6.6使用BlockingCollection进行异步处理
6.6.1准备工作
6.6.2实现方式
6.6.3工作原理
第7章使用PLINQ
7.1简介
7.2使用Parallel类
7.2.1准备工作
7.2.2实现方式
7.2.3工作原理
7.3并行化LINQ查询
7.3.1准备工作
7.3.2实现方式
7.3.3工作原理
7.4调整PLINQ查询的参数
7.4.1准备工作
7.4.2实现方式
7.4.3工作原理
7.5处理PLINQ查询中的异常
7.5.1准备工作
7.5.2实现方式
7.5.3工作原理
7.6管理PLINQ查询中的数据分区
7.6.1准备工作
7.6.2实现方式
7.6.3工作原理
7.7为PLINQ查询创建一个自定义的聚合器
7.7.1准备工作
7.7.2实现方式
7.7.3工作原理
第8章使用Reactive Extensions
8.1简介
8.2将普通集合转换为异步的可观察集合
8.2.1准备工作
8.2.2实现方式
8.2.3工作原理
8.3编写自定义的可观察对象
8.3.1准备工作
8.3.2实现方式
8.3.3工作原理
8.4使用Subject
8.4.1准备工作
8.4.2实现方式
8.4.3工作原理
8.5创建可观察的对象
8.5.1准备工作
8.5.2实现方式
8.5.3工作原理
8.6对可观察的集合使用LINQ查询
8.6.1准备工作
8.6.2实现方式
8.6.3工作原理
8.7使用Rx创建异步操作
8.7.1准备工作
8.7.2实现方式
8.7.3工作原理
第9章使用异步I/O
9.1简介
9.2异步地使用文件
9.2.1准备工作
9.2.2实现方式
9.2.3工作原理
9.3编写一个异步的HTTP服务器和客户端
9.3.1准备工作
9.3.2实现方式
9.3.3工作原理
9.4异步操作数据库
9.4.1准备工作
9.4.2实现方式
9.4.3工作原理
9.5异步调用WCF服务
9.5.1准备工作
9.5.2实现方式
9.5.3工作原理
第10章并行编程模式
10.1简介
10.2实现惰性求值的共享状态
10.2.1准备工作
10.2.2实现方式
10.2.3工作原理
10.3使用BlockingCollection实现并行管道
10.3.1准备工作
10.3.2实现方式
10.3.3工作原理
10.4使用TPL数据流实现并行管道
10.4.1准备工作
10.4.2实现方式
10.4.3工作原理
10.5使用PLINQ实现Map/Reduce模式
10.5.1准备工作
10.5.2实现方式
10.5.3工作原理
第11章更多信息
11.1简介
11.2在Windows商店应用中使用计时器
11.2.1准备工作
11.2.2实现方式
11.2.3工作原理
11.3在通常的应用程序中使用WinRT
11.3.1准备工作
11.3.2实现方式
11.3.3工作原理
11.4在Windows商店应用中使用BackgroundTask
11.4.1准备工作
11.4.2实现方式
11.4.3工作原理

Introduction

不久前,典型的个人计算机的CPU还只有一个计算核心,并且功耗足以煎熟鸡蛋。2005年,英特尔推出了其首款多核心CPU,从此计算机开始向不同的方向发展。低耗电量及多个计算核心变得比提高行计算(row computing)核心性能更重要。这也导致了编程范式的改变。现在我们需要学习如何有效地使用所有CPU核心来最优化性能,并同时通过在特定时间只运行需要的程序来节省电池电量。除此之外,我们在编写服务器端应用程序时需要有效地利用多个CPU核心,甚至多台计算机来支持尽可能多的用户。
为了创建这样的应用程序,你需要学习如何在程序中有效地使用多个CPU核心。如果你使用的是Microsoft .NET开发平台以及C#编程语言,那么本书将是一个编写高性能、高响应性的应用程序的完美起点。
本书的目的是给你提供C#中多线程以及并行编程的详尽指导。我们将从基本概念开始,每章主题比前一章都有所拔高,最后展示现实世界中的并行编程模式以及Windows商店应用示例。
本书内容
第1章介绍了C#中基本的线程操作。本章解释了什么是线程,使用线程的优缺点,以及与线程相关的其他重要方面。
第2章描述了线程交互细节。你将了解为何我们需要协调线程,以及协调组织线程的不同方式。
第3章解释了线程池概念。本章展示了如何使用线程池,如何执行异步操作,以及使用线程池的好的和不好的实践。
第4章深入讲解了任务并行库(Task Parallel Library,TPL)框架。本章讲述了TPL的所有重要方面,包括任务组合、异常管理及取消操作等。
第5章深入解释了C# 5.0中的新功能——异步方法。你将了解async和await关键字,如何在不同的场景中使用它们,以及await底层工作机制。
第6章描述了.NET框架中并行算法的标准数据结构,并为每种数据结构展示了示例编程场景。
第7章深入讲解了并行LINQ基础设施。本章讲述了任务和数据并行度,并行化LINQ查询,调整并行选项,分割查询,集合并行查询结果等内容。
第8章解释了如何以及何时使用Reactive Extensions框架。你将学习如何组合事件,如何对事件序列执行LINQ查询等。
第9章深入讲解了异步I/O进程,包括文件、网络及数据库等场景。
第10章列出了针对常见的并行编程问题的解决方案。
第11章覆盖了基于Windows 8的编写异步应用程序的场景。你将学习如何使用Windows 8异步API,以及如何在Windows商店应用中完成后台工作。
准备事项
我们需要 Windows桌面版本的Microsoft Visual Studio Express 2012来完成大多数章节的学习。第11章中的小节还需要Windows 8操作系统和Visual Studio Express 2012编译Windows商店应用。
读者对象
本书的读者对象为没有或只有少量多线程及异步和并发编程背景的C#开发人员。本书涵盖了C#和.NET生态系统中从基础概念到复杂编程模式及算法的很多与多线程相关的主题。
下载示例代码
本书的示例代码可登录华章网站中的本书页面下载。


Specifications

Brand Jingdong book
Brand Origin China

Disclaimer

Product packaging, specifications and price are subject to change without notice. All information about the products on our website is provided for information purposes only. Please always read labels, warnings and directions provided with the product before use.

View Full Terms of Use
Add to favorites
{{ $isZh ? coupon.coupon_name_sub : coupon.coupon_ename_sub | formatCurrency }}
{{__("Buy Directly")}} {{ itemCurrency }}{{ item.directly_price }}
Quantity
{{ quantity }}
{{ instockMsg }}
{{ limitText }}
{{buttonTypePin == 3 ? __("Scan to view more PinGo") : __("Scan to start")}}
Sold by JD@CHINA
Ship to
{{ __("Ship to United States only") }}
Free shipping over 69
Genuine guarantee

Added to Cart

Keep Shopping

More to Consider

{{ item.brand_name }}

{{ item.item_name }}

{{ item.currency }}{{ item.market_price }}

{{ item.currency }}{{ item.unit_price }}

{{ item.currency }}{{ item.unit_price }}

Coupons

{{ coupon.coupon_name_new | formatCurrency }}
Clip Clipped Over
{{ getCouponDescStr(coupon) }}
{{ coupon.use_time_desc }}
Expires soon {{ formatTime(coupon.use_end_time) }}

Share this item with friends

Cancel

Yami Gift Card

Get this exclusive deal when paying with gift card

Terms and Conditions

Gift card deals are special offers for selected products;

The gift card deals will automatically be activated if a customer uses gift card balance at check out and the balance is sufficient to pay for the total price of the shopping cart products with gift card deals;

You will not be able to activate the gift card deals if you choose other payment methods besides gift card. The products will be purchased at their normal prices;

If your account balance is not enough to pay for the products with gift card deals, you can choose to reload your gift card balance by clicking on the Reload button at either shopping cart page or check out page;

Products that have gift card deals can be recognized by a special symbol showing 'GC Deal';

For any additional questions or concerns, please contact our customer service;

Yamibuy reserves the right of final interpretation.

Sold by Yami

Service Guarantee

Yami Free Shipping over $49
Yami Easy Returns
Yami Ships from United States

Shipping

  • United States

    Standard Shipping is $5.99 (Excluding Alaska & Hawaii). Free on orders of $49 or more.

    Local Express is $5.99 (Available in Parts of CA, NJ, MA & PA). Free on orders of $49 or more.

    2-Day Express (Includes Alaska & Hawaii) starts at $19.99.

Return Policy

Yami is committed to provide our customers with a peace of mind when purchasing from us. Most items shipped from Yamibuy.com can be returned within 30 days of receipt of shipment (For Food, Beverages, Snacks, Dry Goods, Health supplements, Fresh Grocery and Perishables Goods, within 7 days of receipt of shipment due to damages or quality issues; To ensure that every customer receives safe and high-quality products, we do not provide refunds or returns for beauty products once they have been opened or used, except in the case of quality issues; Some products may have different policies or requirements associated with them, please see below for products under special categories, or contact Yami Customer Service for further assistance).
Thank you for your understanding and support.

Learn More

Sold by Yami

Terms and Conditions of Yami E-Gift Card

If you choose “Redeem automatically” as your delivery method, your gift card balance will be reload automatically after your order has been processed successfully;

If you choose “Send to Email”as your delivery method, the card number and CVV will be sent to the email address automatically;

Any user can use the card number and CVV to redeem the gift card, please keep your gift card information safely. If you have any trouble receiving email, please contact Yami customer service;

Yami gift card can be used to purchase both Yami owned or Marketplace products;

Yami gift card will never expire;

Yami gift card balance does not have to be used up at once;

All rights reserved by Yami.

Return Policy

Gift card that has already been consumed is non-refundable.

Sold by JD@CHINA

Service Guarantee

Yami Free Shipping over $49
Yami Easy Returns
Yami Ships from United States

Shipping

  • United States

    Standard Shipping is $5.99 (Excluding Alaska & Hawaii). Free on orders of $49 or more.

    Local Express is $5.99 (Available in Parts of CA, NJ, MA & PA). Free on orders of $49 or more.

    2-Day Express (Includes Alaska & Hawaii) starts at $19.99.

Return Policy

You may return product within 30 days upon receiving the product. Items returned must be new in it's original packing, including the original invoice for the purchase. Customer return product at their own expense.

Sold by JD@CHINA

Service Guarantee

Yami Cross-store Free Shipping over $69
Yami 30-days Return

Yami-China FC

Yami has a consolidation warehouse in China which collects multiple sellers’ packages and combines to one order. Our Yami consolidation warehouse will directly ship the packages to your door. Cross-store free shipping over $69.

Return Policy

You may return products within 30 days upon receiving the products. Sellers take responsibilities for any wrong shipment or missing items. Packing needs to be unopened for any other than quality issues return. We promise to pack carefully, but because goods are taking long journey to destinations, simple damages to packaging may occur. Any damages not causing internal goods quality problems are not allowed to return. If you open the package and any quality problem is found, please contact customer service within three days after receipt of goods.

Shipping Information

Yami Consolidation Service Shipping Fee $9.99(Free shipping over $69)

Sellers in China will ship their orders within 1-2 business days once the order is placed. Packages are sent to our consolidation warehouse in China and combined there. Our Yami consolidation warehouse will directly ship the packages to you via UPS. The average time for UPS to ship from China to the United States is about 10 working days and it can be traced using the tracking number. Due to the pandemic, the delivery time may be delayed by about 5 days. The package needs to be signed by the guest. If the receipt is not signed, the customer shall bear the risk of loss of the package.

Sold by JD@CHINA

Service Guarantee

Free shipping over 69
Genuine guarantee

Shipping

Yami Consolidated Shipping $9.99(Free shipping over $69)


Seller will ship the orders within 1-2 business days. The logistics time limit is expected to be 7-15 working days. In case of customs clearance, the delivery time will be extended by 3-7 days. The final receipt date is subject to the information of the postal company.

Yami Points information

All items are excluding from any promotion or points events on Yamibuy.com

Return Policy

You may return product within 30 days upon receiving the product. Items returned must be new in it's original packing, including the original invoice for the purchase. Customer return product at their own expense.

Yami

Download the Yami App

Back Top

Recommended for You

About the brand

Jingdong book

为您推荐

Yami
欣葉
2种选择
欣叶 御大福 芋头麻薯 180g

周销量 600+

$1.66 $1.99 83折
Yami
欣葉
2种选择
欣叶 御大福 芋头麻薯 180g

周销量 600+

$1.66 $1.99 83折
Yami
欣葉
2种选择
欣叶 御大福 芋头麻薯 180g

周销量 600+

$1.66 $1.99 83折
Yami
欣葉
2种选择
欣叶 御大福 芋头麻薯 180g

周销量 600+

$1.66 $1.99 83折
Yami
欣葉
2种选择
欣叶 御大福 芋头麻薯 180g

周销量 600+

$1.66 $1.99 83折
Yami
欣葉
2种选择
欣叶 御大福 芋头麻薯 180g

周销量 600+

$1.66 $1.99 83折

Reviews{{'('+ commentList.posts_count + ')'}}

Have your say. Be the first to help other guests.

Write a review
{{ totalRating }} Write a review
  • {{i}} star

    {{i}} stars

    {{ parseInt(commentRatingList[i]) }}%

Yami Yami
{{ comment.user_name }}

{{ showTranslate(comment) }}Show Less

{{ strLimit(comment,800) }}Show more

Show Original

{{ comment.content }}

Yami
Show All

{{ formatTime(comment.in_dtm) }} VERIFIED PURCHASE {{groupData}}

{{ comment.likes_count }} {{ comment.likes_count }} {{ comment.reply_count }} {{comment.in_user==uid ? __('Delete') : __('Report')}}
Yami Yami
{{ comment.user_name }}

{{ showTranslate(comment) }}Show Less

{{ strLimit(comment,800) }}Show more

Show Original

{{ comment.content }}

Yami
Show All

{{ formatTime(comment.in_dtm) }} VERIFIED PURCHASE {{groupData}}

{{ comment.likes_count }} {{ comment.likes_count }} {{ comment.reply_count }} {{comment.in_user==uid ? __('Delete') : __('Report')}}

No related comment~

Review

Yami Yami

{{ showTranslate(commentDetails) }}Show Less

{{ strLimit(commentDetails,800) }}Show more

Show Original

{{ commentDetails.content }}

Yami
Show All

{{ formatTime(commentDetails.in_dtm) }} VERIFIED PURCHASE {{groupData}}

{{ commentDetails.likes_count }} {{ commentDetails.likes_count }} {{ commentDetails.reply_count }} {{commentDetails.in_user==uid ? __('Delete') : __('Report')}}

Please write at least one word

Comments{{'(' + replyList.length + ')'}}

Yami Yami

{{ showTranslate(reply) }}Show Less

{{ strLimit(reply,800) }}Show more

Show Original

{{ reply.reply_content }}

{{ formatTime(reply.reply_in_dtm) }}

{{ reply.reply_likes_count }} {{ reply.reply_likes_count }} {{ reply.reply_reply_count }} {{reply.reply_in_user==uid ? __('Delete') : __('Report')}}

Please write at least one word

Cancel

That’s all the comments so far!

Write a review
How would you rate this item?

Please add your comment.

  • A nice nickname will make your comments more popular!
  • The nickname in your account will be changed to the same as here.
Thanks for your review
Our community rely on great reviews like yours to find the best of Asia.

Report

If you find this content inappropriate and think it should be removed from the Yami.com site, let us know please.

Cancel

Are you sure to delete your review?

Cancel

You’ve Recently Viewed

About the brand

Jingdong book