中国地图
GIS探索者
遥感影像纠正
GIS论坛
网站首页
:
|
GIS论坛
|
新闻动态
|
技术专栏
|
GIS书籍
|
资源下载
|
求职招聘
|
研究生考试
|
GIS博客
|
GIS空间站
欢迎光临GIS空间站!
网站
地图
专栏导航:|
ArcGIS
|
MapInfo
|
TopMap
|
地理信息
|
遥感
|
GPS
|
测绘
|
WebGIS
|
LBS
|
前沿
|
数据库
|
开发
|
行业应用
推荐栏目:|
AO开发
|
业界动态
|
GIS资源
|
招聘信息
|
求职简历
|
共享软件
|
电子书籍
|
研究生考题
|
电子期刊
|
GIS论文
您现在的位置:
GIS空间站
>>
技术专栏
>>
软件开发
>> 文章正文
C#多线程编程实例实战
作者:刘弹 文章来源:ASPCool 点击数: 更新时间:2007-2-2
注意在程序中,释放锁时,只会唤醒一个阅读程序,这是因为使用AutoResetEvent的原历,读者可自行将其改成ManualResetEvent,同时唤醒多个阅读程序,此时应令m_nActive等于整个等待的阅读线程数目。
申请写入锁的函数原型为:public void AcquireWriterLock( int millisecondsTimeout ),其中的参数为等待调度的时间。函数定义如下:
public void AcquireWriterLock( int millisecondsTimeout )
{
// m_mutext很快可以得到,以便进入临界区
m_mutex.WaitOne( );
// 是否有活动线程存在
bool bNoActive = m_nActive == 0;
if( !bNoActive )
{
m_nWaitingWriters++;
}
else
{
m_nActive--;
}
m_mutex.ReleaseMutex();
//存储线程锁标志
System.LocalDataStoreSlot slot = Thread.GetNamedDataSlot( "myReaderWriterLockDataSlot" );
object obj = Thread.GetData( slot );
LockFlags flag = LockFlags.None;
if( obj != null )
flag = (LockFlags)Thread.GetData( slot );
if( flag == LockFlags.None )
上一页
[1]
[2]
[3]
[4]
[5]
[6]
[7]
[8]
[9]
下一页
文章录入:gissky 责任编辑:gissky
【
发表评论
】【
加入收藏
】【
告诉好友
】【
打印此文
】【
关闭窗口
】
■■相 关 图 书:
■■相 关 文 章:
[原创]基于高斯投影的经纬度转化等功能C#源码
C#操作Word文档(Office 2007)
上一篇文章:
C#操作Word文档(Office 2007)
下一篇文章:
[原创]基于高斯投影的经纬度转化等功能C#源码
GIS博客精华
热点文章
热门资源
关于我们
|
联系我们
|
广告服务
|
友情链接
|
申请链接
|
合作联盟
|
诚聘英才
GIS空间站(GISSky.Net)版权所有 站长:
兔八哥