首页 新闻 论坛 群组 Blog 文档 下载 读书 Tag 网摘 搜索 .NET Java 游戏 视频 人才 外包 数据库 第二书店 程序员

Tag/ 


共138个网摘 [ 1  2  3  4  5 ]  下一页  |  

多线程编程之二——MFC中的多线程开发 - berniebd的专栏 - CSDNBlog

coolaaron收录,使用标签:MFC, 多线程,时间:2008-8-4 16:07:59 | 相关网摘我也收藏

CWinThread* AfxBeginThread(AFX_THREADPROC pfnThreadProc, LPVOID pParam, nPriority=THREAD_PRIORITY_NORMAL, UINT nStackSize=0, DWORD dwCreateFlags=0, LPSECURITY_ATTRIBUTES lpSecurityAttrs


多线程并发思考--文件加锁 - hbcui1984的专栏 - CSDNBlog

arest收录,使用标签:多线程, 文件加锁,时间:2008-7-30 0:38:55 | 相关网摘我也收藏

为了避免以上结果,我们希望在一个线程在操作某个文件的时候,其他线程不能对该文件进行读或写操作,要怎么才能实现呢?利用java提供的synchronized似乎无法完成,因为每个线程是在程序中动态抛出的.郁昧了一天之后,我终于找到了一个解决办法,就是利用java.nio包中的FileChannel对文件进行加锁.


多线程安全的单例代码中,为何要两次判断是否为null

cfcodefans收录,使用标签:java, 多线程, 同步,时间:2008-7-16 8:32:40 | 相关网摘我也收藏

java 多线程 同步

*


发表于:2008-07-14 16:30:159楼 得分:0
对!我刚刚也看到了相关的资料

不过还有人偏偏加一个锁以获取更大的性能,锁崩溃
http://www.ibm.com/developerworks/cn/java/j-threads/index2.html

另一种能提高性能的技术称为“锁崩溃”(请参阅清单 6)。回想一下, Vector 类的方法几乎都是同步的。假设您有一个 String 值的 Vector ,并想搜索最长的 String 。进一步假设您已经知道只会在末端添加元素,而且元素不会被删除,那么,像 getLongest() 方法所展示的那样访问数据是安全的(通常),该方法只是调用 elementAt() 来检索每个元素,简单地对 Vector 的元素作循环。

getLongest2() 方法非常相似,除了在开始循环之前获取 Vector 上的锁之外。这样做的结果是当 elementAt() 试图获取锁时,JVM 将注意到当前线程已经拥有锁,而且将不会参与争用。 getLongest2() 加大了同步块,这似乎违背了“放进去,取出来”的原则,但因为避免了很大量可能的同步,调度开销的时间损失也少了,速度仍然快得多。

在运行 Sun 1.3 JDK 的双处理器 Linux 系统上,拥有两个线程,仅仅循环调用 getLongest2() 的的测试程序比调用 getLongest() 的要快 10 倍以上。虽然两个程序的序列化程度相同,但前者调度开销的时间损失要少得多。这又是一个极端的示例,但它表明争用的调度开销并不是微不足道的。即使只运行一个线程,崩溃版的速度也要快约 30% :获取您已占用的锁比获取无人占用的锁要快得多。

清单 6. 锁崩溃

Vector v;
...

public String getLongest() {
int maxLen = 0;
String longest = null;
for (int i=0; i maxLen) {
maxLen = s.length();
longest = s;
}
}
return longest;
}
public String getLongest2() {
int maxLen = 0;
String longest = null;
synchronized (v) {
for (int i=0; i maxLen) {
maxLen = s.length();
longest = s;
}
}
return longest;
}
}


串口的循环发送数据

Joephia收录,使用标签:多线程,时间:2008-6-2 0:45:00 | 相关网摘我也收藏

发送数据后马上运行Sleep(),此时主线程就阻塞了,不接收消息循环,附带线程也会被暂停,因为 Sleep()把这个进程的CPU时间让给其它进程了


多线程--同步(概述) - vinep的专栏 - CSDNBlog

expertyang收录,使用标签:多线程, 同步, 方法,时间:2008-5-7 17:27:42 | 相关网摘我也收藏

通过对多线程的串行化来访问公共资源或一段代码,速度快,适合控制数据访问。



共138个网摘 [ 1  2  3  4  5 ]  下一页

Tag/相关标签



    网站简介广告服务网站地图帮助联系方式诚聘英才English 问题报告
    北京创新乐知广告有限公司 版权所有 京 ICP 证 070598 号
    Copyright © 2000-2008, CSDN.NET, All Rights Reserved