thread & cache
文章平均质量分 77
搜神客
京东人。
展开
-
线程基础1
对多数开发者,使用多线程的主要动机就是来执行长期在后台工作一个或多个任务,而前台还能提供一个高效的可交互的用户界面的能力。另一种常见的情形(场景)是当构建C/S的服务端时,欲使服务端(Server)同时执行多个长期运行的任务,使用线程技术可使这些任务分别运行在一个独立的线程中,这样以提高服务端的可用性,IO吞吐量等指标。*** 线程是一个执行单元。 进程是一个内存分转载 2009-12-01 10:35:00 · 403 阅读 · 0 评论 -
线程基础2
手动创建线程:我们用代码来创建线程:Dim MyThread as new Thread(AddressOf toExecuteSubOrFunctionName) MyThread.Start()线程池典型是优选的方法,因为线程的创建和销毁需要代价,线程池可以重用已创建的线程。当手动创建线程时,你可能得承受或实现你自己的方案来重用你创建的线程。然而手动创建自己的线程原创 2009-12-01 11:05:00 · 349 阅读 · 0 评论 -
线程基础3
*设计后台任务:交互式应用的后台处理的目标和需求不同于服务器端应用。这里交互式特指windows Forms或控制台应用程序。.net framework 大部分API非线程安全,一般,后台线程与UI线程的交互(比如更新显示)是通过发送消息,比如后台线程可以发送消息给UI线程一边UI线程为用户更新显示。Backgroundworker控件可用于此目的,该控件的目的是开始,监控并控制后台任务转载 2009-12-01 11:06:00 · 322 阅读 · 0 评论 -
线程基础4
Reader-Writer Locks读写锁:*互斥锁是一种简单的保护共享数据的方式,但其并非总是最高效的,应用程序可能经常存在这样的代码:一些代码更新共享数据,而另一些代码仅仅读取这些共享数据。另一些应用程序可能存在大量的读数据行为,数据仅周期性的更新。因为读数据不改变任何东西,所以只要你确定在你试图读数据时没有其他的线程在更新数据则多个线程同时读取数据不会出现任何错误,典型地仅希望每次转载 2009-12-01 11:08:00 · 318 阅读 · 0 评论