- 博客(18)
- 资源 (19)
- 收藏
- 关注
转载 [.Net 多线程处理系列专题七——对多线程的补充
因为有些人可能会疑惑,讲了这么多 多线程,到底在实际的应用上有什么作用的呢? 这里我在这里用多线程简单实现了一个文件的下载的功能。服务器端页面:%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="FileServer.Default" %> > html xmlns=
2014-01-16 14:44:07 689
转载 [.Net线程处理系列]专题六:线程同步——信号量和互斥体
也不多说了,直接进入主题了一、信号量(Semaphore)信号量(Semaphore)是由内核对象维护的int变量,当信号量为0时,在信号量上等待的线程会堵塞,信号量大于0时,就解除堵塞。当在一个信号量上等待的线程解除堵塞时,内核自动会将信号量的计数减1。在.net 下通过Semaphore类来实现信号量同步。Semaphore类限制可同时访问某一资源或资源池的线程数。
2014-01-16 14:43:41 635
转载 [.Net线程处理系列]专题五:线程同步——事件构造
引言: 其实这部分内容应该是属于专题四,因为这篇也是讲关于线程同步的,但是由于考虑到用户的阅读习惯问题,因为文章太长了,很多人不是很愿意看包括我也是这样的,同时也有和我说可以把代码弄成折叠的,这样就不会太长的,但是我觉得这样也不怎么便于阅读,因为我看别人的博客的时候,看到有代码是折叠起来的时候很多时候不愿意去点,并且点一下之后同样拉长文章的,然后就看到右边的滚动条变小了,本以为快看完
2014-01-16 14:43:13 638
转载 [.Net线程处理系列]专题四:线程同步
目录:一、线程同步概述二、线程同步的使用三 、总结 一、线程同步概述 前面的文章都是讲创建多线程来实现让我们能够更好的响应应用程序,然而当我们创建了多个线程时,就存在多个线程同时访问一个共享的资源的情况,在这种情况下,就需要我们用到线程同步,线程同步可以防止数据(共享资源)的损坏。然而我们在设计应用程序还是要尽量避免使用线程同步,
2014-01-16 14:42:24 631
转载 [.Net线程处理系列]专题三:线程池中的I/O线程
上一篇文章主要介绍了如何利用线程池中的工作者线程来实现多线程,使多个线程可以并发地工作,从而高效率地使用系统资源。在这篇文章中将介绍如何用线程池中的I/O线程来执行I/O操作,希望对大家有所帮助。目录:一、I/O线程实现对文件的异步二、I/O线程实现对请求的异步三、小结 一、I/O线程实现对文件的异步1.1 I/O线程介绍:对于线
2014-01-16 14:41:56 701
转载 [.Net线程处理系列]专题二:线程池中的工作者线程
目录:一、上节补充二、CLR线程池基础三、通过线程池的工作者线程实现异步四、使用委托实现异步五、任务六、小结 一、上节补充对于Thread类还有几个常用方法需要说明的。1.1 Suspend和Resume方法 这两个方法在.net Framework 1.0 的时候就支持的方法,他们分别可以挂起线程和
2014-01-16 14:41:15 1114
转载 [.Net 线程处理系列]专题一:线程基础
引言: 最近一段时间都在研究关于.Net线程的内容,觉得线程是每个程序员都应该掌握的,所以写下这个线程的系列希望能给大家学习过程中一些帮助,同时也是自己对线程的巩固,当中如果有什么错漏还请大家指出,这样我们可以互相得到进步。目录:一、线程的介绍二、线程调度和优先级三、前台线程和后台线程四、简单线程的使用五、小结 一、线程
2014-01-16 14:40:10 622
转载 四种进程或线程同步互斥的控制方法
很想整理一下自己对进程线程同步互斥的理解。正巧周六一个刚刚回到学校的同学请客吃饭。在吃饭的过程中,有两个同学,为了一个问题争论的面红耳赤。一个认为.Net下的进程线程控制模型更加合理。一个认为Java下的线程池策略比.Net的好。大家的话题一下转到了进程线程同步互斥的控制问题上。回到家,想了想就写了这个东东。 现在流行的进程线程同步互斥的控制机制,其实是由最原始最基本的4种方法实现的。
2014-01-16 14:36:42 627
转载 Linux中线程同步和互斥的区别
相交进程之间的关系主要有两种,同步与互斥。所谓互斥,是指散步在不同进程之间的若干程序片断,当某个进程运行其中一个程序片段时,其它进程就不能运行它 们之中的任一程序片段,只能等到该进程运行完这个程序片段后才可以运行。所谓同步,是指散步在不同进程之间的若干程序片断,它们的运行必须严格按照规定的 某种先后次序来运行,这种先后次序依赖于要完成的特定的任务。 显然,同步是一种更为复杂的互斥,而
2014-01-16 14:28:00 648
转载 线程同步之四——条件变量
1.互斥量的存在问题: 互斥量是线程程序必需的工具,但它们并非万能的。例如,如果线程正在等待共享数据内某个条件出现,那会发生什么呢?它可以重复对互斥对象锁定和解锁,每次都会检查共享数据结构,以查找某个值。但这是在浪费时间和资源,而且这种繁忙查询的效率非常低。 在每次检查之间,可以让调用线程短暂地进入睡眠,比如睡眠三秒钟,但是因此线程代码就无法最快作出响应。真正需要的是这
2014-01-16 14:24:53 756
转载 线程与同步之三——信号量
信号是 E. W. Dijkstra 在二十世纪六十年代末设计的一种编程架构。Dijkstra 的模型与铁路操作有关:假设某段铁路是单线的,因此一次只允许一列火车通过。信号将用于同步通过该轨道的火车。火车在进入单一轨道之前必须等待信号灯变为允许通行的状态。火车进入轨道后,会改变信号状态,防止其他火车进入该轨道。火车离开这段轨道时,必须再次更改信号的状态,以便允许其他火车进入轨道。 在
2014-01-16 14:22:11 892
转载 线程与同步之三——读写锁
特性: 读写锁也叫共享——排他锁,因为有3种状态, 所以可以有更高的并行性。使用mutex,它的状态要么处于锁住和未锁状态,只有一个线程可以上锁。而读写锁有更多的状态:在读状态锁住,在写状态锁住,未锁住。只有一个线程可以获得写锁,多个线程可以同时获得读锁。当读写锁是写加锁状态时, 在这个锁被解锁之前, 所有试图对这个锁加锁的线程都会被阻塞。当读写锁在读加锁状态时, 所
2014-01-16 14:20:51 501
转载 线程与同步之二——互斥量
我们可以通过pthread提供的互斥量接口来保护我们的数据,确保每次只有一个线程访问。从本质上说就是一把锁,我们在访问共享数据的时候设置(上锁),在访问完成后释放(解锁)。当我们解锁互斥量的时候,如果有多余一个的线程被阻塞,则所有阻塞在这个锁的进程都被唤醒,变成可以运行的状态。接下来,只有一个线程开始运行并设置锁,其他的看到互斥量仍然是被锁定,继续等待。 1. 初始化:
2014-01-16 14:20:01 549
转载 透过12306五大焦点看高性能高并发系统
http://storage.it168.com/a2012/0217/1313/000001313424_all.shtml【IT168 专稿】在2011年与2012年的新旧交替之际,铁道部的12306网上购票系统着实“火”了一把,在中国境内可谓是无人不知无人不晓,曾有人在网上戏称12306为“史上最牛电商”。12306购票系统的初衷是系统通过在线购票方式以免除半夜早起,在瑟瑟寒风中
2014-01-16 14:12:21 1173
转载 百度技术总监谈12306高性能海量并发网站架构设计
http://iecspace.ecjtu.org/posts/12306-website-architecture12306全国火车票网上售票网站的情况大家都见到了,如果让你来设计该订票网站,你会如何设计才能应对如此大规模以及高并发的情况呢?以下是百度前技术总监邵辉给出的设计: 列车在线订票系统的业务逻辑比较简单,不用多说。可能的瓶颈有两个,一个是车次和剩余票量的查
2014-01-16 14:07:11 1281
转载 转几个12306各家所言 之二
http://www.cchere.com/topic/3965719我曾在淘宝写过一段时间代码,2012年在一家百强民企做电商副总,当时在极为艰苦的条件下带队开发了一个B2C网站,走支付宝和银联支付通道,年营业额千万级(当然实在太少了,我只是说这个网站投入了实际的运营)。也就在那个时候,我对12306嗤之以鼻,觉得他们做得太烂了,认为自己能带队花几百万半年时间做个好的出来。于
2014-01-15 20:16:31 1096
转载 转几个12306各家所言 之一
http://www.zhihu.com/question/2245139712306 外包给阿里巴巴、IBM 等大企业做是否可行?12306首秀被骂的狗血喷头后铁道部找来IBM、阿里巴巴等大企业要解决方案,给出的条件是资金管够但是问题得解决。几大企业最后都拒绝了(其中阿里巴巴最后负责了排队系统的建设)。12306开始自己尝试解决问题。他们发现市面上可以买到的成
2014-01-15 20:15:42 828
转载 华为的JAVA笔试题
一、 单项选择题 1.Java是从( )语言改进重新设计。 A.Ada B.C++ C.Pasacal D.BASIC 答案:B 2.下列语句哪一个正确( ) A. Java程序经编译后会产生machine code B. Java程序经编译后会产生byte code C. Java程序经编译后会产生DLL D. 以上都不正确 答案:B
2014-01-13 17:11:15 815
C#描述中的单例与多例模式
2012-08-15
C#异步回调算法
2012-08-15
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人