由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
Programming版 - java concurrency
相关主题
Pthread support on Windows XP请教c++ multithreading
multithread app的design要注意哪些问题?有专门介绍multithreading编程的书吗
c++11 std thread类 怎么样,大家用过么问一个用Visual Studio开发Multithread程序的问题
怎么练习C++ multi-threading?想知道家在linux下都有什么c++ socket library
how to debug multi-thread program?openMP or boost::thread (pthread) for multithreading ?
How to avoid deadlock ?单开主题:为何痛恨python
学习multi threading, 有什么好书?前端和后端的区别
有啥比较好的multithreaded C++ project?这是怎么回事?
相关话题的讨论汇总
话题: java话题: thread话题: l2话题: helper
进入Programming版参与讨论
1 (共1页)
W***o
发帖数: 6519
1
以前一直懒得看java concurrency 这部分,
刚才翻看了一下,感觉理解很容易,
以前用C写过一个thread library,
再看java multithreaded programming觉得容易多了,
不知是不是因为我不够踏实半瓶醋。
请大牛指点要点和难点哦?
d****i
发帖数: 4809
2
没错,Java的thread底层实现就是OS native thread,所以你理解了C的thread, Java
的自然就容易理解多了。

【在 W***o 的大作中提到】
: 以前一直懒得看java concurrency 这部分,
: 刚才翻看了一下,感觉理解很容易,
: 以前用C写过一个thread library,
: 再看java multithreaded programming觉得容易多了,
: 不知是不是因为我不够踏实半瓶醋。
: 请大牛指点要点和难点哦?

d****i
发帖数: 4809
3
所以还是回到我说的那句话,看看APUE这本经典的系统编程的宝典,哪怕你工作中不用
C来做系统底层编程,还是大有益处。

Java

【在 d****i 的大作中提到】
: 没错,Java的thread底层实现就是OS native thread,所以你理解了C的thread, Java
: 的自然就容易理解多了。

c*********e
发帖数: 16335
4
说说你咋判断有没有deadlock

【在 W***o 的大作中提到】
: 以前一直懒得看java concurrency 这部分,
: 刚才翻看了一下,感觉理解很容易,
: 以前用C写过一个thread library,
: 再看java multithreaded programming觉得容易多了,
: 不知是不是因为我不够踏实半瓶醋。
: 请大牛指点要点和难点哦?

W***o
发帖数: 6519
5
这个可以用比较经典的“几个哲学家用筷子吃饭”的例子来打个比方,奇数编号的哲学
家先用左手拿起筷子,lock,然后看看右手的筷子有没有free;偶数编号的哲学家先用
右手拿起筷子,lock,然后等左手的筷子,这样协调吃饭就不会有deadlock,当然这个
不是最优解法(懒得去想当时是怎么做的),因为有的哲学家吃了1000次,有的哲学家
只吃了1次,但是这个不仅避免了deadlock,也避免了starvation.
如果是两个threads 要处理一个shared resources, 可以用两把锁(L1, L2), 而且规
定必须是先获得L1, lock, 再获得L2, lock, (用round robin ?? - unsure) 然后处
理resources。如果一个thread 只看到L2 free, 规定它不能acquire L2.
这样判断对吗?或者请大牛说说更简单的方法?

【在 c*********e 的大作中提到】
: 说说你咋判断有没有deadlock
s****y
发帖数: 503
6

你都看了那些?

【在 W***o 的大作中提到】
: 以前一直懒得看java concurrency 这部分,
: 刚才翻看了一下,感觉理解很容易,
: 以前用C写过一个thread library,
: 再看java multithreaded programming觉得容易多了,
: 不知是不是因为我不够踏实半瓶醋。
: 请大牛指点要点和难点哦?

g*****g
发帖数: 34805
7
难点在于复杂并发下出现 race condition的 debug. 没法重现,IDE更无用。基本靠看
thread dump 和经验猜。

【在 W***o 的大作中提到】
: 以前一直懒得看java concurrency 这部分,
: 刚才翻看了一下,感觉理解很容易,
: 以前用C写过一个thread library,
: 再看java multithreaded programming觉得容易多了,
: 不知是不是因为我不够踏实半瓶醋。
: 请大牛指点要点和难点哦?

p***o
发帖数: 1252
8
APUE不讲pthread把 ...

【在 d****i 的大作中提到】
: 所以还是回到我说的那句话,看看APUE这本经典的系统编程的宝典,哪怕你工作中不用
: C来做系统底层编程,还是大有益处。
:
: Java

W***o
发帖数: 6519
9
我记得讲一点点

【在 p***o 的大作中提到】
: APUE不讲pthread把 ...
b*******s
发帖数: 5216
10
最简单就是顺序锁或者无锁结构

【在 c*********e 的大作中提到】
: 说说你咋判断有没有deadlock
d****i
发帖数: 4809
11
当然有pthread,这个是UNIX和Linux的重要组成部分之一啊,只不过以前很多东西在不
同的UNIX下面由于实现不同,加上接口函数的名字又不同,后来Open Group和Single
UNIX Specification把他们逐步标准化和统一接口了。

【在 p***o 的大作中提到】
: APUE不讲pthread把 ...
M*****R
发帖数: 650
12
I learned a tip on debugging threading issues.
We can associate a helper exception object for the shared data
member. This helper exception object is used to take a snapshot of the call
stack whenever the data member's state is changed to an interesting state.
This way, we can record a sequence of call stack snapshots that modified
that state. This can be very helpful.

【在 g*****g 的大作中提到】
: 难点在于复杂并发下出现 race condition的 debug. 没法重现,IDE更无用。基本靠看
: thread dump 和经验猜。

1 (共1页)
进入Programming版参与讨论
相关主题
这是怎么回事?how to debug multi-thread program?
求推荐Unix/Linux的textbookHow to avoid deadlock ?
在main()里面创建了几个线程,如何等待所有线程都结束?学习multi threading, 有什么好书?
Unix/Linux下的C++ coding 跟Windows下到底有多大不同? (转载)有啥比较好的multithreaded C++ project?
Pthread support on Windows XP请教c++ multithreading
multithread app的design要注意哪些问题?有专门介绍multithreading编程的书吗
c++11 std thread类 怎么样,大家用过么问一个用Visual Studio开发Multithread程序的问题
怎么练习C++ multi-threading?想知道家在linux下都有什么c++ socket library
相关话题的讨论汇总
话题: java话题: thread话题: l2话题: helper