我想有一个SynchronousQueue从一个线程插入元素的位置put(),因此输入被阻塞,直到元素被另一个线程占用.
在另一个线程中,我执行了大量计算,并且不时想要检查元素是否已经可用,并使用它.但似乎isEmpty()总是返回true,即使另一个线程正在等待put()通话.
这怎么可能呢?以下是示例代码:
@Test
public void testQueue() throws InterruptedException {
final BlockingQueue<Integer> queue = new SynchronousQueue<Integer>();
Thread t = new Thread(new Runnable() {
@Override
public void run() {
while (true) {
if (!queue.isEmpty()) {
try {
queue.take();
System.out.println("taken!");
} catch (InterruptedException e) {
e.printStackTrace();
}
}
// do useful computations here (busy wait)
}
}
});
t.start();
queue.put(1234);
// this point is never reached!
System.out.println("hello");
}
Run Code Online (Sandbox Code Playgroud)
编辑:既不是isEmpty()也不是peek()工作,必须使用poll().谢谢!
Tess Ferrandez撰写的这篇文章http://blogs.msdn.com/tess/archive/2006/02/15/532804.aspx概述了为什么使用XMLSerialization会导致内存泄漏.
泄漏是由于对象如何在内存中实例化为程序集而不是对象,因此不是垃圾收集器的目标.
该文章最初是在1.0/1.1 CLR上编写的,但有关2.0 CLR的更新尚不清楚.
我在一个仍处于测试阶段的Web应用程序中广泛使用XMLSerialization/Deserialization进行UI /服务器交换.对象只是DTO(仅具有属性的对象).
先感谢您!
在Django中,我如何返回与另一个模型相关的项目总数(计数),例如stackoverflow执行问题列表的方式,然后它会显示与该问题相关的答案的计数.
如果我得到问题,这很容易,我可以返回与该问题相关的所有答案,但是当显示整个问题列表时,在显示总计数的计数侧显示有点棘手.
我不知道是否清楚但只是想想stackoverflow如何用答案显示其问题,每个问题旁边的视图计数!
我们正在为GIS应用程序开发一个扩展(在C#.NET环境中),它将具有用于建模现实世界对象的预定义类型,从GenericObject开始,并使用它们的详细属性和方法转到更具体的类型,如Pipe and Road比如BottomOfPipe,Diameter等.
当然,TypeLibrary中会有一个对象模型,接口,继承和许多其他基本部分,现在我们已经修复了其中的一些部分.但是你可能知道,设计一个对象模型是一个非常模糊的工作,而且(我知道的),可以用许多不同的方式和许多不同的结果和弱点来完成.
在设计OM时是否有任何明确的规则:层次结构,定义接口的方式,抽象和coclasse的枚举?
有任何建议,参考或实践吗?
我所拥有的是:
<xsl:variable name="myvar" select=".//spss:category[((not @varName) or @varName=$colVarName) and @text=$series]/spss:cell/@text"/>
Run Code Online (Sandbox Code Playgroud)
它所应该做的是选择的文本spss:cell的文本属性,只要它是一个孩子spss:category有
varName值等于的属性$colVarNamevarName属性什么是发生的是以下错误消息(不好意思翻译在这里,它所以只是要点):
预期令牌')'.找到令牌'@'.
.//spss:category {((not - > @ < - varName)或@ varName = $ colVarName ...
问题解决了!(见下文)
我正在寻找展示具有出色UI设计的应用程序截图的网站.我正在编写一个应用程序,我正在花时间考虑UI应该是什么样子.我的观众不是商业,而是家庭.
我之前的UI设计体验(和舒适度)是使用Windows Forms,因此我通常会使用标准列表框,按钮,标签等.现在我正在尝试使用WPF,并且正在寻找更多......有吸引力的...界面(只要它仍然满足应用程序的需求并增强 - 而不是减损 - 从其目的).
任何关于画廊的想法或具有出色UI设计的应用程序的具体示例?
编辑:我还将采用您认为可以做出优秀,直观设计的个性化应用程序.
我正在用ShellExecuteExC执行命令.有没有办法使用ShellExecuteEx和捕获标准输入/输出/错误?
注意:我不想用CreateProcess.
我正在寻找一个报告磁盘IO活动的Linux命令行工具.类似的东西htop真的很酷.有人听说过类似的东西吗?
我正在我的大学上课,名为"软件约束".在第一次讲座中,我们学习了如何构建优秀的API.
我们得到一个非常糟糕的API函数的一个很好的例子是public static void Select(IList checkRead, IList checkWrite, IList checkError, int microseconds);C#中的套接字.该函数接收3个套接字列表,并销毁它们,使得用户必须克隆所有套接字才能将它们送入Select().它还有一个超时(以微秒为单位),它是一个int,用于设置服务器等待套接字的最长时间.这个限制是+/- 35分钟(因为它是一个int).
我试图使用StreamReader打开一个文件,我想设置一个编码,但我希望它采取默认的Windows编码...我怎么能改变我的窗口编码???
.net ×1
api ×1
api-design ×1
c ×1
c++ ×1
collections ×1
command-line ×1
django ×1
file-io ×1
gallery ×1
io ×1
java ×1
linux ×1
memory-leaks ×1
python ×1
vb.net ×1
winapi ×1
windows ×1
windows-xp ×1
xpath ×1
xslt ×1