|
1
6
|
|
|
2
17
不 你必须非常仔细地分析你的程序,以确保它是线程安全的。考虑购买“实践中的Java并发”(非常好的Java并发解释)。 |
|
|
3
1
|
|
|
4
1
这是停止问题的变体(或所谓的“减少”)。因此它是 对于所有不重要的案件。(是的,这是编辑)
|
|
|
5
1
我想那些说证明任意多线程程序是线程安全的人在某种程度上是不可能的,是正确的。一个任意的多线程程序,在没有严格指导的情况下进行编码 将 有线程错误,你就不能有效地证明不是真的。
CheckThread . 它基于注释或xml配置文件工作。如果您将一个方法标记为“@ThreadSafe”,但它不是,那么您将得到一个编译时错误。这是通过查看线程不安全操作的字节码来检查的,例如未同步数据字段上的读/写序列。 它还处理那些需要在特定线程(例如Swing)上调用方法的api。 它实际上并不处理死锁,但是可以使用诸如 Jlint . 你只需要遵循一些最低的标准,比如确保锁是根据DAG获得的,而不是随意的。 |
|
|
6
0
在某些情况下,你可以证明它是坏的,这太棒了! 您可能还对自动死锁检测感兴趣,在某些情况下,它只是“正常工作”。我正在数百个桌面上发布一个Java程序,安装了这样一个死锁检测器,这是一个非常好的工具。例如: http://www.javaspecialists.eu/archive/Issue130.html 您还可以通过各种方式对应用程序进行压力测试。
我问了一个问题,如何在Un*x系统上轻松创建高CPU负载,例如: |
|
|
BenjiFB · C#内存缓存:在一次操作中追加到列表? 1 年前 |
|
SpeakX · 多线程上下文中的弱指针未过期时更新 2 年前 |
|
USMC6072 · 在父事件处理程序中调用异步方法会引发错误 2 年前 |
|
|
Eric · fgets_unlocked()用于多线程读取不同文件 4 年前 |