运行结果:ProAndCon0 produced1 producedconsumed 02
produced3 producedconsumed 1consumed 2consumed 34 producedconsumed 45
producedconsumed 5转载自:http://www.o...
分类:
编程语言 时间:
2014-04-28 18:11:11
阅读次数:
531
在Windows应用程序中,窗体是由一种称为“UI线程(User Interface
Thread)”的特殊类型的线程创建的。首先,UI线程是一种“线程”,所以它具有一个线程应该具有的所有特征,比如有一个线程函数和一个线程ID。其次,“UI线程”又是“特殊”的,这是因为UI线程的线程函数中会创建一种...
分类:
编程语言 时间:
2014-04-28 16:38:31
阅读次数:
622
2014-04-27
20:16题目:假设一个类Foo有三个公有的成员方法first()、second()、third()。请用锁的方法来控制调用行为,使得他们的执行循序总是遵从first、second、third的顺序。解法:你应该想到了用lock的方法类阻塞,不过这里面有个概念问题使得直接用Re...
分类:
编程语言 时间:
2014-04-28 02:27:03
阅读次数:
506
转载自
http://blog.csdn.net/livelylittlefish/article/details/2735440本博客(http://blog.csdn.net/livelylittlefish)贴出作者(三二一、小鱼)相关研究、学习内容所做的笔记,欢迎广大朋友指正!C#读写者线程...
分类:
编程语言 时间:
2014-04-28 01:39:37
阅读次数:
764
2014-04-27
20:06题目:设计一个类,只有在不产生死锁的时候才分配资源。解法:不太清楚这个题是要分配何种资源,以何种形式?所以没能动手写个可运行的代码,只是闲扯了几句理论分析。代码:
1 // 16.4 Design a class which provides a lock only ...
分类:
编程语言 时间:
2014-04-28 01:21:58
阅读次数:
558
2014-04-27
20:25题目:关于java中标有synchronized的成员方法?解法:这代表同一个对象实例的synchronized方法不能被多个线程同时调用。注意有这么多个地方都加粗了,如果这些条件有一个不满足的话,就是可以调用的。另外,如果此方法是静态成员方法,
那么总可以认为是“同...
分类:
编程语言 时间:
2014-04-28 01:16:06
阅读次数:
583
为什么没有采用多线程或者IO复用,原因是在多线程或IO复用的情况下,当前目录是共享的,无法根据每一个连接来拥有自己的当前目录。多进程模式下,一个连接拥有2个进程,一个是nobody进程,一个是服务进程。为什么使用nobody进程的原因是:在PORT模式下,服务器会主动建立数据通道连接客户端,服务器可...
分类:
其他好文 时间:
2014-04-28 01:00:27
阅读次数:
551
首先说明,下面的代码仅是一个IOCP的demo,很多地方的设计非常差,当然也有一些设计还算可以:)。此篇仅供对IOCP有些了解但又不深入的、需要一个稍微完整示例的、对网络编程感兴趣的同学参考。点击这里下载代码整个程序的流程如下:流程完全是无阻塞的,主线程里,将收到的消息全都一次性取出后,然后派发。所...
分类:
其他好文 时间:
2014-04-27 21:30:51
阅读次数:
757
2014-04-27
19:26题目:哲学家吃饭问题,死锁问题经典模型(专门用来黑哲学家的?)。解法:死锁四条件:1. 资源互斥。2. 请求保持。3. 非抢占。4.
循环等待。所以,某砖家拿起一只筷子后如果发现没有另一只了,就必须把手里这只筷子放下,这应该是通过破坏“请求保持”原则来防止死锁产生,请...
分类:
编程语言 时间:
2014-04-27 21:30:09
阅读次数:
699
2014-04-27
19:14题目:如何测量上下文切换的时间?解法:首先,上下文切换是什么,一搜就知道。对于这么一个极短的时间,要测量的话,可以通过放大N倍的方法。比如:有A和B两件事,并且经常一起发生,每件只需要花几纳秒。如果你把A事件连续做几百万次,而B时间只做了几次,这样就能排除B事件对于测...
分类:
编程语言 时间:
2014-04-27 21:24:59
阅读次数:
672