餐桌上的多线程问题生产者和消费者模型设想有一天你和一群朋友去餐馆吃饭,这是个典型的同步例子,你和你的朋友们共享着餐桌这个资源。想象一下,当你举起筷子准备夹菜的时候,却发现菜碟子被人端走了~这正是同步要解决的问题,必须保证在某人夹菜的时候,其他人不能把菜盘子端走。Java中使用加锁的机制,使用Sync...
分类:
编程语言 时间:
2014-05-15 11:09:46
阅读次数:
367
Select在Socket编程中还是比较重要的,可是对于初学Socket的人来说都不太爱用Select写程序,他们只是习惯写诸如connect、accept、recv或recvfrom这样的阻塞程序(所谓阻塞方式block,顾名思义,就是进程或是线程执行到这些函数时必须等待某个事件的发生,如果...
分类:
其他好文 时间:
2014-05-15 10:57:24
阅读次数:
223
1.对多线程的支持是Java语言的一大优势,Java对线程的控制主要集中在对线程的同步和协作上,Java使用的同步机制是监视器。监视器java监视器支持两种线程:互斥和协作。java虚拟机通过对象锁来实现互斥,允许多个线程在同一个共享数据上独立而不干扰地工作。协作则通过object类的wait方法....
分类:
编程语言 时间:
2014-05-15 01:55:47
阅读次数:
297
多线程中级,包含控制线程的几种方法、线程的同步、线程组,有返回值的线程、线程之前的通信、线程池和线程的几个相关类...
分类:
编程语言 时间:
2014-05-15 01:37:37
阅读次数:
275
在windows上面,利用网卡做自定义报文的收发,Winpcap是唯一选择,目前自己编写驱动来实现相关功能的基本找不到。
Winpcap对于接收的报文只是复制,并不阻断报文向操作系统提交,因此还是影响了操作系统,导致操作系统时不时的发出一些报文来,而这些报文又可能会干扰我们的测试过程,为了突破这个限制,我重新实现了相关的驱动,做到了以下几个功能:
1 和Winpcap一样出色的报...
分类:
其他好文 时间:
2014-05-15 01:16:32
阅读次数:
312
从事c#的开发已经有五六年的时间了,平常工作中感觉C#基本能满足所需要的编程。现在打算学习下VisualC++2010的编程。VisualC++2010支持两种C++语言:ISO/IECC++(本地C++)和C++/CLI本地C++没什么好说的,我们一直使用的C++语言。C++/CLI是微软对本地C++的一个扩展版本,向本地..
分类:
其他好文 时间:
2014-05-15 00:56:27
阅读次数:
258
分类:Mount命令:需要注意的:1、挂载点必须是一个目录。2、一个分区挂载在一个已存在的目录上,这个目录可以不为空,但挂载后这个目录下以前的内容将不可用。对于其他操作系统建立的文件系统的挂载也是这样。3、光盘、软盘、其他操作系统使用的文件系统的格式与linux使用的文..
分类:
系统相关 时间:
2014-05-15 00:40:58
阅读次数:
588
前段时间研究过一阵子无锁化编程。刚写了几个简单的程序,来验证了下自己学到的一些概念。
测试场景:假设有一个应用:现在有一个全局变量,用来计数,再创建10个线程并发执行,每个线程中循环对这个全局变量进行++操作(i++),循环加2000000次。
所以很容易知道,这必然会涉及到并发互斥操作。下面通过三种方式来实现这种并发操作。并对比出其在效率上的不同之处。
......
通过编程测试及测试得出结论:
1、如果是想用全局变量来做统计操作。而又不得不考虑多线程间的互斥访问的话,最好使用编译器支持的原子操作函...
分类:
其他好文 时间:
2014-05-15 00:17:24
阅读次数:
390
Asp.Net
WebAPI生成的是一个程序集,并不是独立的进程,因此,要运行的时候必须将其承载在相应的宿主上,一般比较常见的是IIS承载。很多时候,我们为了简化部署或者功能集成,需要将其承载到独立的进程上,这种方式一般称之为Self-Host,本文就简单的介绍一下WebAPI的SefHost方法。...