`
aigo
  • 浏览: 2722901 次
  • 性别: Icon_minigender_1
  • 来自: 宜昌
社区版块
存档分类
最新评论
文章列表
项目刚刚遇到一个这样的问题: 在一个死循环中获取和处理一个队列(一个LinkedList),当空闲时,线程会阻塞在从LinkedList获取列表的地方(在一个Get方法中,使用ReentrantLock锁,如果当前LinkedList的size为0,则使用Condition的await()方法,让当前线程阻塞),此时想让该线程终止时,我使用了Thread.join(),结果虚拟机dump抛出了一下错误: "_S_0@1301" prio=5 tid=0x12 nid=NA waiting   java.lang.Thread.State: WAITING  at ...
原文:http://www.slf4j.org/apidocs/org/apache/commons/logging/Log.html The six logging levels used by Log are (in order): trace (the least serious) debug info warn error fatal (the most serious)
原文:http://docs.oracle.com/javase/1.5.0/docs/api/java/util/concurrent/locks/Condition.html 这个例子很好的解释了ReentrantLock的条件锁-Condition的用法:   看完API文档中这个例子后,我很疑惑:如果线程A进入了take方法,并拿到了Lock的拥有权,同事阻塞在了await()方法处,此时线程B进入了put方法,线程B试图去获取Lock的拥有权,但之前线程A还没释放锁,岂不是线程B无法走到put方法的signal()处,这样就不造成线程死锁了吗! 这篇文章给了一个很好的解释: ...
转自:http://blog.csdn.net/zhijie435/article/details/1790854 Cache         在特定硬件基础上(同时假设系统不存在设计上的缺漏和糟糕低效的SQL 语句)Cache往往是提升系统性能的最关键因素)。         相对Hibernate 等封装较为严密的ORM 实现而言(因为对数据对象的操作实现了较为严密的封装,可以保证其作用范围内的缓存同步,而ibatis 提供的是半封闭的封装实现,因此对缓存的操作难以做到完全的自动化同步)。         ibatis 的缓存机制使用必须特别谨慎。特别是flushOnExecute ...
原文:http://luyuwww.iteye.com/blog/1840708 本机是windows环境 1. 下载 protobuf最新版本:https://code.google.com/p/protobuf/downloads/detail?name=protobuf-2.5.0.tar.gz 2. 解压后发现没有包.java下面只有一个POM.xml. 用maven吧.(mvn3的环境自己上网找吧) 3. cmd进 ...
线程的最大特点是资源的共享性,但资源共享中的同步问题是多线程编程的难点。linux下提供了多种方式来处理线程同步,最常用的是互斥锁、条件变量和信号量。 1)互斥锁(mutex)     通过锁机制实现线程间的同步。同一时刻只允许一个线程执行一个关键部分的代码。 int pthread_mutex_init(pthread_mutex_t *mutex,const pthread_mutex_attr_t *mutexattr); int pthread_mutex_lock(pthread_mutex *mutex); int pthread_mutex_destroy(pthre ...
原文:http://blog.csdn.net/eulb/article/details/2177500 多线程同步机制 (Windows)   线程的同步机制:1、   Event用事件¼
Trance是电子舞曲音乐的一种,开始于90年代,拍子在128至160 BPM之间,使用电子合成器创造旋律,音乐风格自始至终起伏有序,包含了Techno、Ambient和House等元素,相比其他舞曲更具古雅味道。       分类:       Classic Trance     Classic Trance是最初的Trance音乐,出现在80年代末90年代初,着重强调气氛,运用的是比较轻柔的电子合成。         Acid Trance     Acid Trance也出现于80年代末90年代初,是运用Acid(Roland TB-303)设备创造出来的音乐。   ...
 原文:http://www.oschina.net/translate/seven-traits-of-effective-programmers   要想成为高效的程序员,你需要具备一定的综合素质才能够让你用你所掌握的技能、经验和知识编写出有效的代码。有一些开发人员在技术方面具备一定的技巧,但他们永远无法成为高效的程序员,就是因为他们缺乏所需的其它几项特质。本文将给出成为一个伟大的程序员所必须具备的7项特质。 1. 主动学习新的技术和非技术两方面的知识 不好的程序员只有在实在不行的时候才开始进行知识学习。良好的程序员会主动学习新的技术知识。伟大的程序员不仅会自行学习新的技术知识, ...
来源:http://social.microsoft.com/Forums/en-AU/windowsserversystemzhchs/thread/890112e3-0fc3-465a-aafa-9a0e6f951a6a   运行nslookup 如果你当前的DNS服务器正常工作,返回的结果应该是你自己的DNS服务器。 随便解析一个网站,比如 www.microsoft.com 应该 ...
安装Apache或Nginx,不能安装成服务,提示端口已经被占用。 使用 netstat -ano | findstr "80" ,发现占用80端口的竟然是System进程。 这个进程是系统进程,你无法通过强制终止而将其退出。 安装的IIS已经换了一个别的端口,为啥会这样? 最后把能停的服务,一个一个进行停止。 停掉SQL Server Reporting Services (MSSQLSERVER)之后,被占用的端口被释放! 原来是SQL Server 2008的这个报告服务惹的麻烦!   还有可能是安装了IIS服务,IIS默认端口也是80端口,修改修改I ...
前言:apache虽然能运行,但是看见error.log中有httpd.exe: Could not reliably determine the server's fully qualified domain name, using 192.168.1.111 for ServerName这个错误,想看看是否有其他占用了80端口开始--运行--cmd 进入命令提示符 输入netstat -ano 即可看到所有连接的PID 之后在任务管理器中找到这个PID所对应的程序如果任务管理器中没有PID这一项,可以在任务管理器中选"查看"-"选择列"经常,我们在 ...
From: http://thesoftwarerogue.blogspot.com/2010/05/porting-of-libcurl-to-android-os-using.html   Tuesday, May 11, 2010 Porting of cURL to Android OS using NDK   In continuing my journey into Android territory, I decided it would be useful to understand the NDK development kit.  Given I want to ...
性能分析工具gprof介绍 Ver:1.0     目录 1.    GPROF介绍    4 2.    使用步骤    4 3.    使用举例    4 3.1    测试环境    4 3.2    测试代码    4 3.3    数据分析    5 3.3.1    flat profile模式    6 3.3.2    call graph模式 ...
原文:http://blog.chinaunix.net/uid-20384806-id-3055333.html 测试条件: gcc version 4.2.1 20070719  [FreeBSD] FreeBSD  7.2-RELEASE #0: Fri May  1 07:18:07 UTC 2009     root@driscoll.cse.buffalo.edu:/usr/obj/usr/src/sys/GENERIC  amd64Intel(R) Xeon(R) CPU           E5620  @ 2.40GHz 16核   测试程序说明: 先准备好 ...
Global site tag (gtag.js) - Google Analytics