问题列表 - 第4230页

BlockingQueue:put()和isEmpty()不能一起工作?

我想有一个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().谢谢!

java collections multithreading producer-consumer

0
推荐指数
1
解决办法
1499
查看次数

.Net 3.5中是否存在XMLSerialization的已知内存泄漏?

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(仅具有属性的对象).

先感谢您!

.net memory-leaks

5
推荐指数
2
解决办法
2474
查看次数

在Django中,我如何返回与模型相关的项目总数?

在Django中,我如何返回与另一个模型相关的项目总数(计数),例如stackoverflow执行问题列表的方式,然后它会显示与该问题相关的答案的计数.

如果我得到问题,这很容易,我可以返回与该问题相关的所有答案,但是当显示整个问题列表时,在显示总计数的计数侧显示有点棘手.

我不知道是否清楚但只是想想stackoverflow如何用答案显示其问题,每个问题旁边的视图计数!

python django

1
推荐指数
1
解决办法
2097
查看次数

对象模型设计中的重要规则是什么

我们正在为GIS应用程序开发一个扩展(在C#.NET环境中),它将具有用于建模现实世界对象的预定义类型,从GenericObject开始,并使用它们的详细属性和方法转到更具体的类型,如Pipe and Road比如BottomOfPipe,Diameter等.

当然,TypeLibrary中会有一个对象模型,接口,继承和许多其他基本部分,现在我们已经修复了其中的一些部分.但是你可能知道,设计一个对象模型是一个非常模糊的工作,而且(我知道的),可以用许多不同的方式和许多不同的结果和弱点来完成.

在设计OM时是否有任何明确的规则:层次结构,定义接口的方式,抽象coclasse枚举

有任何建议,参考或实践吗?

virtualization

5
推荐指数
1
解决办法
207
查看次数

如何在XSL中测试缺少的属性?

我所拥有的是:

<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值等于的属性$colVarName
  • 或者根本没有varName属性

什么发生的是以下错误消息(不好意思翻译在这里,它所以只是要点):

预期令牌')'.找到令牌'@'.
.//spss:category {((not - > @ < - varName)或@ varName = $ colVarName ...

问题解决了!(见下文)

xslt xpath

5
推荐指数
1
解决办法
8911
查看次数

是否有可以用于创意的优秀应用程序UI库?

我正在寻找展示具有出色UI设计的应用程序截图的网站.我正在编写一个应用程序,我正在花时间考虑UI应该是什么样子.我的观众不是商业,而是家庭.

我之前的UI设计体验(和舒适度)是使用Windows Forms,因此我通常会使用标准列表框,按钮,标签等.现在我正在尝试使用WPF,并且正在寻找更多......有吸引力的...界面(只要它仍然满足应用程序的需求并增强 - 而不是减损 - 从其目的).

任何关于画廊的想法具有出色UI设计的应用程序的具体示例

编辑:我还将采用您认为可以做出优秀,直观设计的个性化应用程序.

user-interface gallery

5
推荐指数
1
解决办法
4208
查看次数

使用ShellExecuteEx并捕获标准输入/输出/错误

我正在用ShellExecuteExC执行命令.有没有办法使用ShellExecuteEx和捕获标准输入/输出/错误?

注意:我不想用CreateProcess.

c c++ windows winapi

10
推荐指数
4
解决办法
2万
查看次数

类似htop的工具,用于在linux中显示磁盘活动

我正在寻找一个报告磁盘IO活动的Linux命令行工具.类似的东西htop真的很酷.有人听说过类似的东西吗?

linux io command-line

145
推荐指数
4
解决办法
11万
查看次数

你如何定义好的或坏的API?

背景:

我正在我的大学上课,名为"软件约束".在第一次讲座中,我们学习了如何构建优秀的API.

我们得到一个非常糟糕的API函数的一个很好的例子是public static void Select(IList checkRead, IList checkWrite, IList checkError, int microseconds);C#中的套接字.该函数接收3个套接字列表,并销毁它们,使得用户必须克隆所有套接字才能将它们送入Select().它还有一个超时(以微秒为单位),它是一个int,用于设置服务器等待套接字的最长时间.这个限制是+/- 35分钟(因为它是一个int).


问题:

  1. 你如何将API定义为"坏"?
  2. 你如何将API定义为"好"?

需要考虑的要点:

  • 难以记住的函数名称.
  • 功能参数很难理解.
  • 文档不好.
  • 一切都是如此相互关联,如果你需要更改1行代码,你实际上需要在其他地方更改数百行.
  • 破坏其论点的函数.
  • 由于"隐藏"的复杂性导致可扩展性差.
  • 用户/ dev需要围绕API构建包装器以便可以使用它.

api api-design

61
推荐指数
7
解决办法
2万
查看次数

如何在Windows XP中设置默认编码?

我试图使用StreamReader打开一个文件,我想设置一个编码,但我希望它采取默认的Windows编码...我怎么能改变我的窗口编码???

vb.net file-io windows-xp

7
推荐指数
1
解决办法
2万
查看次数