由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
Programming版 - java multi-threading project怎么确定它没有deadlock, race condition?
相关主题
多线程程序有什么好的调式方法?c++下如何实现多线程?
多线程 编程,process 和 thread 的一些问题。用多线程怎么比单线程还慢呢?
c++多线程的工作面试一般会问哪些问题?multithread app的design要注意哪些问题?
如果面试一个候选人,算法答的很好,java多线程没什么经验 回答的不上路 你会招么写thread safe程序现在也是程序员必须要掌握的了吧
c#怎么测试deadlock, race condition啊?如果一个core,多线程还有必要吗?
面试问题一问 (转载)计算机供电不稳定会影响程序/线程运行吗?
how to debug multi-thread program?这样的deadlock如何debug?
多线程编程前景如何?讲一个单进程死锁
相关话题的讨论汇总
话题: deadlock话题: race话题: threading话题: condition话题: java
进入Programming版参与讨论
1 (共1页)
c*********e
发帖数: 16335
1
怎么测试?有没有专业软件测试?
看起来,java multi-threading project很容易有deadlock, race condition;而且很
难测试出来。大家的java multi-threading project,写出来之后怎么测试deadlock,
race condition的?
w**z
发帖数: 8232
2
load test and code review

,

【在 c*********e 的大作中提到】
: 怎么测试?有没有专业软件测试?
: 看起来,java multi-threading project很容易有deadlock, race condition;而且很
: 难测试出来。大家的java multi-threading project,写出来之后怎么测试deadlock,
: race condition的?

c*********e
发帖数: 16335
3
能不能给个具体例子,和网站tutor?

【在 w**z 的大作中提到】
: load test and code review
:
: ,

f*******t
发帖数: 7549
4
deadlock: 看stack dump
race condition: 读log
p*****2
发帖数: 21240
5
明白为什么node好了!

,

【在 c*********e 的大作中提到】
: 怎么测试?有没有专业软件测试?
: 看起来,java multi-threading project很容易有deadlock, race condition;而且很
: 难测试出来。大家的java multi-threading project,写出来之后怎么测试deadlock,
: race condition的?

c*********e
发帖数: 16335
6
node就是i/o non-blocking async,每个process之间没啥关联。没有java multi-
threading的生产者-消费者模式,中间没有个blockingqueue来连接生产者和消费者。
从设计思路上看,node.js的模式还是太简单,java里面的花样很多,各种class,
interface.

【在 p*****2 的大作中提到】
: 明白为什么node好了!
:
: ,

c*********e
发帖数: 16335
7
不需要特别的测试软件吗?

【在 f*******t 的大作中提到】
: deadlock: 看stack dump
: race condition: 读log

d*******r
发帖数: 3299
8
没有 reliable & generic 的算法来测试吧, 记得以前学 OS 时候是这么说的
p*****2
发帖数: 21240
9

可以借助redis呀。

【在 c*********e 的大作中提到】
: node就是i/o non-blocking async,每个process之间没啥关联。没有java multi-
: threading的生产者-消费者模式,中间没有个blockingqueue来连接生产者和消费者。
: 从设计思路上看,node.js的模式还是太简单,java里面的花样很多,各种class,
: interface.

w**z
发帖数: 8232
10
是 web 吗? try jmeter, 或者自己写client.

【在 c*********e 的大作中提到】
: 能不能给个具体例子,和网站tutor?
相关主题
面试问题一问 (转载)c++下如何实现多线程?
how to debug multi-thread program?用多线程怎么比单线程还慢呢?
多线程编程前景如何?multithread app的design要注意哪些问题?
进入Programming版参与讨论
f*******t
发帖数: 7549
11
没啥软件能检测这些,感觉都是凭经验看

【在 c*********e 的大作中提到】
: 不需要特别的测试软件吗?
z*******3
发帖数: 13709
12
thread dump
没有办法,所以无数的frameworks才在解决这些问题
多线程搞到最后就会觉得vert.x真好
汲取百家之长
z*******3
发帖数: 13709
13
顺便说一下
java程序员现在几乎都不手写multiple threading了
你的方式有些过于落伍了
至少是java.utl.concurrency
实际工作中,也多数是tomcat, spring, ejb这些framework
随便一个都可以解决并发的问题
或者fp那些immutable,也是一种方法
ror等也都是如此,不过都只能对付tcp,http
等到你要用udp的时候,vert.x就显示出其价值来了
g*****g
发帖数: 34805
14
做个thread dump, visualVM 就可以查有没有死锁。至于race condition是没啥软件能
查。

【在 f*******t 的大作中提到】
: 没啥软件能检测这些,感觉都是凭经验看
w**z
发帖数: 8232
15
不用thread dump, 直接联到jmx 端口,有个查Dead lock 的button.

【在 g*****g 的大作中提到】
: 做个thread dump, visualVM 就可以查有没有死锁。至于race condition是没啥软件能
: 查。

c*****e
发帖数: 3226
16
Erlang, 也解决了99% deadlock 的问题。

【在 p*****2 的大作中提到】
: 明白为什么node好了!
:
: ,

c*****e
发帖数: 3226
17
jprofile

,

【在 c*********e 的大作中提到】
: 怎么测试?有没有专业软件测试?
: 看起来,java multi-threading project很容易有deadlock, race condition;而且很
: 难测试出来。大家的java multi-threading project,写出来之后怎么测试deadlock,
: race condition的?

i**i
发帖数: 1500
18
deadlock只要能重复出来就好弄。
race condition你能确定是这个原因已经是高手了。多线程相互无关还行,要有资源共
享,还没共享的统一策略,你就good luck吧。
r***s
发帖数: 737
19
死锁好办,每次acquire lock不成功的话走一下waiting graph 看有没有环就是了。
有现成工具。不满意的话自己用jvmti写一个
http://stackoverflow.com/questions/8126711/get-deadlock-detecti
race condition比较难找。一般是用function test来找。

,

【在 c*********e 的大作中提到】
: 怎么测试?有没有专业软件测试?
: 看起来,java multi-threading project很容易有deadlock, race condition;而且很
: 难测试出来。大家的java multi-threading project,写出来之后怎么测试deadlock,
: race condition的?

r***s
发帖数: 737
20
各有各的用处,node能用的地方functional language一般都好用。
stateful processing里面用node或者functional 都比较难。

【在 p*****2 的大作中提到】
: 明白为什么node好了!
:
: ,

相关主题
写thread safe程序现在也是程序员必须要掌握的了吧这样的deadlock如何debug?
如果一个core,多线程还有必要吗?讲一个单进程死锁
计算机供电不稳定会影响程序/线程运行吗?使用CPython要避免多线程?
进入Programming版参与讨论
r***s
发帖数: 737
21
你可以说封装的更好了,用起来比以前更方便
但是离不用写还远得很。尤其做infrastructure的
很难只用别人写好的。

【在 z*******3 的大作中提到】
: 顺便说一下
: java程序员现在几乎都不手写multiple threading了
: 你的方式有些过于落伍了
: 至少是java.utl.concurrency
: 实际工作中,也多数是tomcat, spring, ejb这些framework
: 随便一个都可以解决并发的问题
: 或者fp那些immutable,也是一种方法
: ror等也都是如此,不过都只能对付tcp,http
: 等到你要用udp的时候,vert.x就显示出其价值来了

w**z
发帖数: 8232
22
put the code under load and reproduce the problem. 然后就对有问题的code 做
review. 我们有一次, 几个人对有问题的code 看了几天。

【在 r***s 的大作中提到】
: 死锁好办,每次acquire lock不成功的话走一下waiting graph 看有没有环就是了。
: 有现成工具。不满意的话自己用jvmti写一个
: http://stackoverflow.com/questions/8126711/get-deadlock-detecti
: race condition比较难找。一般是用function test来找。
:
: ,

b***e
发帖数: 1419
23
这...node.js的语义和java没有什么区别,用event-driven模式也可以写出dead lock
。任何java里有的问题node.js里同样有,只不过是用不同的形式表达出来。

【在 p*****2 的大作中提到】
: 明白为什么node好了!
:
: ,

p*****2
发帖数: 21240
24
node是single thread的

lock

【在 b***e 的大作中提到】
: 这...node.js的语义和java没有什么区别,用event-driven模式也可以写出dead lock
: 。任何java里有的问题node.js里同样有,只不过是用不同的形式表达出来。

c*********e
发帖数: 16335
25
那你们还看java concurrency in practice干什么?

【在 z*******3 的大作中提到】
: 顺便说一下
: java程序员现在几乎都不手写multiple threading了
: 你的方式有些过于落伍了
: 至少是java.utl.concurrency
: 实际工作中,也多数是tomcat, spring, ejb这些framework
: 随便一个都可以解决并发的问题
: 或者fp那些immutable,也是一种方法
: ror等也都是如此,不过都只能对付tcp,http
: 等到你要用udp的时候,vert.x就显示出其价值来了

c*********e
发帖数: 16335
26
怎么做thread dump?用这个?
kill -3 PID

【在 g*****g 的大作中提到】
: 做个thread dump, visualVM 就可以查有没有死锁。至于race condition是没啥软件能
: 查。

c*********e
发帖数: 16335
27
多线程相互无关,那还不如单线程async来得快。

【在 i**i 的大作中提到】
: deadlock只要能重复出来就好弄。
: race condition你能确定是这个原因已经是高手了。多线程相互无关还行,要有资源共
: 享,还没共享的统一策略,你就good luck吧。

w**z
发帖数: 8232
28
这四种方法我都用过, 从易到难:
visual VM
jconsole has plugin
kill -3
jstack

【在 c*********e 的大作中提到】
: 怎么做thread dump?用这个?
: kill -3 PID

i**i
发帖数: 1500
29
你懂个P.

【在 c*********e 的大作中提到】
: 多线程相互无关,那还不如单线程async来得快。
c*********e
发帖数: 16335
30
我一个同事,用multi-threading做一个c# 课题,出现deadlock,半天都搞不定,最后
用single thread async做,交差了。

你懂个P.

【在 i**i 的大作中提到】
: 你懂个P.
相关主题
OOP里面的Object其实是actor多线程 编程,process 和 thread 的一些问题。
Node.js is not suitable for generic web projectsc++多线程的工作面试一般会问哪些问题?
多线程程序有什么好的调式方法?如果面试一个候选人,算法答的很好,java多线程没什么经验 回答的不上路 你会招么
进入Programming版参与讨论
c*********e
发帖数: 16335
31
请说明原因,谢谢。

【在 i**i 的大作中提到】
: 你懂个P.
p*****2
发帖数: 21240
32
这就是node的优势呀
不会有race condition 不需要lock 也就没有deadlock

【在 c*********e 的大作中提到】
: 我一个同事,用multi-threading做一个c# 课题,出现deadlock,半天都搞不定,最后
: 用single thread async做,交差了。
:
: 你懂个P.

c*********e
发帖数: 16335
33
但是,node.js有interface,abstract class, dto之类的吗?

【在 p*****2 的大作中提到】
: 这就是node的优势呀
: 不会有race condition 不需要lock 也就没有deadlock

p*****2
发帖数: 21240
34
prototypal inheritance

【在 c*********e 的大作中提到】
: 但是,node.js有interface,abstract class, dto之类的吗?
l**********n
发帖数: 8443
35
node讲的是module.

【在 c*********e 的大作中提到】
: 但是,node.js有interface,abstract class, dto之类的吗?
z*******3
发帖数: 13709
36
人类在进步
你非要看十年前的教材,谁也拿你没办法

【在 c*********e 的大作中提到】
: 那你们还看java concurrency in practice干什么?
a***n
发帖数: 538
37
如果有state machine的话,race condition 还是会有的。纯functional的好一点。

【在 p*****2 的大作中提到】
: 这就是node的优势呀
: 不会有race condition 不需要lock 也就没有deadlock

p*****2
发帖数: 21240
38
为什么会有呀?

【在 a***n 的大作中提到】
: 如果有state machine的话,race condition 还是会有的。纯functional的好一点。
a***n
发帖数: 538
39
外部请求返回顺序不确定?

【在 p*****2 的大作中提到】
: 为什么会有呀?
p*****2
发帖数: 21240
40
那跟race conditon有什么关系呀

【在 a***n 的大作中提到】
: 外部请求返回顺序不确定?
相关主题
如果面试一个候选人,算法答的很好,java多线程没什么经验 回答的不上路 你会招么how to debug multi-thread program?
c#怎么测试deadlock, race condition啊?多线程编程前景如何?
面试问题一问 (转载)c++下如何实现多线程?
进入Programming版参与讨论
c*********e
发帖数: 16335
41
node的module就是plugin,到处去找第三方插件。缺啥补啥。没一个系统的架构,象
interface,abstract class。

【在 l**********n 的大作中提到】
: node讲的是module.
p*****2
发帖数: 21240
42
你说的这些是系统架构?

【在 c*********e 的大作中提到】
: node的module就是plugin,到处去找第三方插件。缺啥补啥。没一个系统的架构,象
: interface,abstract class。

c*********e
发帖数: 16335
43
java, c#里面,会用rational rose之类的东西,先把各个class之间的关系理顺,然后
该用interface/abstract class的,就用。
javascript, node.js里面,没这个东西,完全就是到处找一些github上的开源代码来
干事情。和java,c#完全不同的套路。

【在 p*****2 的大作中提到】
: 你说的这些是系统架构?
p*****2
发帖数: 21240
44
那又如何

【在 c*********e 的大作中提到】
: java, c#里面,会用rational rose之类的东西,先把各个class之间的关系理顺,然后
: 该用interface/abstract class的,就用。
: javascript, node.js里面,没这个东西,完全就是到处找一些github上的开源代码来
: 干事情。和java,c#完全不同的套路。

l**********n
发帖数: 8443
45
interface是oop

【在 c*********e 的大作中提到】
: java, c#里面,会用rational rose之类的东西,先把各个class之间的关系理顺,然后
: 该用interface/abstract class的,就用。
: javascript, node.js里面,没这个东西,完全就是到处找一些github上的开源代码来
: 干事情。和java,c#完全不同的套路。

l**********n
发帖数: 8443
46
es6有class和inheritance.

【在 l**********n 的大作中提到】
: interface是oop
p*****2
发帖数: 21240
47
haskell也有type class吧

【在 l**********n 的大作中提到】
: interface是oop
A*******e
发帖数: 2419
48
十年就过时了?刚开始看,晕。

【在 z*******3 的大作中提到】
: 人类在进步
: 你非要看十年前的教材,谁也拿你没办法

c*********e
发帖数: 16335
49
我已经快看完了,确实很有帮助,至少让我知道改怎么写multi-threading code了。但
是,怎么测试race condition, deadlock, 书里没怎么讲。
--------------
A*******e
发帖数: 2419
50
你看了多久?做练习吗?

【在 c*********e 的大作中提到】
: 我已经快看完了,确实很有帮助,至少让我知道改怎么写multi-threading code了。但
: 是,怎么测试race condition, deadlock, 书里没怎么讲。
: --------------

相关主题
用多线程怎么比单线程还慢呢?如果一个core,多线程还有必要吗?
multithread app的design要注意哪些问题?计算机供电不稳定会影响程序/线程运行吗?
写thread safe程序现在也是程序员必须要掌握的了吧这样的deadlock如何debug?
进入Programming版参与讨论
c*********e
发帖数: 16335
51
书里没有练习。

【在 A*******e 的大作中提到】
: 你看了多久?做练习吗?
A*******e
发帖数: 2419
52
不做练习/项目,心里没底啊。

【在 c*********e 的大作中提到】
: 书里没有练习。
c*********e
发帖数: 16335
53
要找个真的项目练手。这玩艺,一定要真干才能学到。

【在 A*******e 的大作中提到】
: 不做练习/项目,心里没底啊。
p*****2
发帖数: 21240
54
真干就能学到?

【在 c*********e 的大作中提到】
: 要找个真的项目练手。这玩艺,一定要真干才能学到。
p**********g
发帖数: 187
1 (共1页)
进入Programming版参与讨论
相关主题
讲一个单进程死锁c#怎么测试deadlock, race condition啊?
使用CPython要避免多线程?面试问题一问 (转载)
OOP里面的Object其实是actorhow to debug multi-thread program?
Node.js is not suitable for generic web projects多线程编程前景如何?
多线程程序有什么好的调式方法?c++下如何实现多线程?
多线程 编程,process 和 thread 的一些问题。用多线程怎么比单线程还慢呢?
c++多线程的工作面试一般会问哪些问题?multithread app的design要注意哪些问题?
如果面试一个候选人,算法答的很好,java多线程没什么经验 回答的不上路 你会招么写thread safe程序现在也是程序员必须要掌握的了吧
相关话题的讨论汇总
话题: deadlock话题: race话题: threading话题: condition话题: java