由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
Java版 - 现在到底工作有多少需要Java的多线程呢?
相关主题
请教一个多线程的问题zhaoce大牛能不能high level的讲解一下java concurrency?
向能人请教Concurrent update of highly contended resources现在都有啥好办法
基于JVM的脚本语言求推荐的java多线程教程
怎么可以练习多线程编程呢?core java多线程一般面试什么
多线程真头疼,但也挺有趣size() method 为什么需要多线程保护?
groovy主要的问题是什么?AtomicInteger和volatile int有啥区别
学了段时间scala后java ,wait ,notify notifyall
NoThread concurrency菜鸟问关于Java Programming的问题
相关话题的讨论汇总
话题: 多线程话题: java话题: stm话题: akka
进入Java版参与讨论
1 (共1页)
p*****2
发帖数: 21240
1
有时间折腾多线程是不是还不如学点别的?比如STM,AKKA这些。多线程看看理论是不
是就可以了?
f*******t
发帖数: 7549
2
我觉得与其花时间折腾那些乱七八糟的东西,不如写点有用的代码
p*****2
发帖数: 21240
3

我觉得要先学习才能写有用的代码吧?也就是说要学习实用的技术,而不是Java多线程
现在很少用到的。

【在 f*******t 的大作中提到】
: 我觉得与其花时间折腾那些乱七八糟的东西,不如写点有用的代码
p*****3
发帖数: 488
4

还是有点用的,这两周尽整java多线程了,一个message queue 的polling,routing。
一个monitoring程序。

【在 p*****2 的大作中提到】
: 有时间折腾多线程是不是还不如学点别的?比如STM,AKKA这些。多线程看看理论是不
: 是就可以了?

f*******t
发帖数: 7549
5
要说实用,有啥能跟java multithreading比……

【在 p*****2 的大作中提到】
:
: 我觉得要先学习才能写有用的代码吧?也就是说要学习实用的技术,而不是Java多线程
: 现在很少用到的。

p*****2
发帖数: 21240
6

legacy code吗?现在新的代码很少用java的多线程了。因为多线程编程太难了。很多
大牛都不敢保证出bug。就跟以前C指针是的,有了GC,没人愿意回去了。现在多线程那
么多framework,没必要往回走,除非performance上有特殊要求。就跟high
performance的现在还用C/C++一样。但是会越来越少了。

【在 p*****3 的大作中提到】
:
: 还是有点用的,这两周尽整java多线程了,一个message queue 的polling,routing。
: 一个monitoring程序。

p*****3
发帖数: 488
7

新改写的小service.
java有哪些framework呢,感觉java的executionService那套就很好用了。其实java的
multithread已经感觉比c++,c的那些好用太多了。
特别复杂的比如condition variable那套东西如果有封装好的倒是蛮方便。不过大部分
情况感觉简单的多线程也犯不着用其他什么framework吧

【在 p*****2 的大作中提到】
:
: legacy code吗?现在新的代码很少用java的多线程了。因为多线程编程太难了。很多
: 大牛都不敢保证出bug。就跟以前C指针是的,有了GC,没人愿意回去了。现在多线程那
: 么多framework,没必要往回走,除非performance上有特殊要求。就跟high
: performance的现在还用C/C++一样。但是会越来越少了。

b***i
发帖数: 3043
8
多线程很简单啊,不就是semaphore什么吗?

【在 p*****2 的大作中提到】
: 有时间折腾多线程是不是还不如学点别的?比如STM,AKKA这些。多线程看看理论是不
: 是就可以了?

p*****2
发帖数: 21240
9

akka

【在 p*****3 的大作中提到】
:
: 新改写的小service.
: java有哪些framework呢,感觉java的executionService那套就很好用了。其实java的
: multithread已经感觉比c++,c的那些好用太多了。
: 特别复杂的比如condition variable那套东西如果有封装好的倒是蛮方便。不过大部分
: 情况感觉简单的多线程也犯不着用其他什么framework吧

p*****2
发帖数: 21240
10

膜拜

【在 b***i 的大作中提到】
: 多线程很简单啊,不就是semaphore什么吗?
相关主题
groovy主要的问题是什么?zhaoce大牛能不能high level的讲解一下java concurrency?
学了段时间scala后Concurrent update of highly contended resources现在都有啥好办法
NoThread concurrency求推荐的java多线程教程
进入Java版参与讨论
p*****2
发帖数: 21240
11

其实说多线程有点不是很确切,现在主要是concurrency, 这块趋势是event-driven和
async, Java支持的就不好了。

【在 p*****3 的大作中提到】
:
: 新改写的小service.
: java有哪些framework呢,感觉java的executionService那套就很好用了。其实java的
: multithread已经感觉比c++,c的那些好用太多了。
: 特别复杂的比如condition variable那套东西如果有封装好的倒是蛮方便。不过大部分
: 情况感觉简单的多线程也犯不着用其他什么framework吧

p*****3
发帖数: 488
12

同膜拜

【在 b***i 的大作中提到】
: 多线程很简单啊,不就是semaphore什么吗?
p*****2
发帖数: 21240
13

大牛有时间看看这个吧
http://www.youtube.com/watch?v=dGVqrGmwOAw

【在 b***i 的大作中提到】
: 多线程很简单啊,不就是semaphore什么吗?
d****i
发帖数: 4809
14
Java的多线程和OS Native thread的多线程还是很不一样的。就像不同的OS, Win32
thread和pthread也完全不一样,然后Win32和pthread和RTOS上的thread(task)也完全
不一样,虽然概念上总是有些相通之处。

【在 b***i 的大作中提到】
: 多线程很简单啊,不就是semaphore什么吗?
p*****3
发帖数: 488
15

java的多线程也是建立在OS上吧,比如说如果在windows上跑,最后总是会调用win32
API, 还是说java有什么牛逼的能自己实现一套多线程的东西

【在 d****i 的大作中提到】
: Java的多线程和OS Native thread的多线程还是很不一样的。就像不同的OS, Win32
: thread和pthread也完全不一样,然后Win32和pthread和RTOS上的thread(task)也完全
: 不一样,虽然概念上总是有些相通之处。

d****i
发帖数: 4809
16
记得以前好像是Java的多线程是完全独立于OS的线程的,现在的Java的多线程的实现实
际上底层调用的就是OS native thread,所以应该是OS thread的一层wrapper。

【在 p*****3 的大作中提到】
:
: java的多线程也是建立在OS上吧,比如说如果在windows上跑,最后总是会调用win32
: API, 还是说java有什么牛逼的能自己实现一套多线程的东西

p*****2
发帖数: 21240
17

Java自己实现了memory model了吧?

【在 p*****3 的大作中提到】
:
: java的多线程也是建立在OS上吧,比如说如果在windows上跑,最后总是会调用win32
: API, 还是说java有什么牛逼的能自己实现一套多线程的东西

m******t
发帖数: 635
18
我C#写过一般规模的async + multithreading的service,Java没有相关经验,最近打
算把这个service用Clojure重写一遍,也在考虑相关的思路,打算尝试下Core.async,
多线程方面打算学prismatic,直接用java.util.concurrent或者简单包装下。
这个是Prismatic他们的一篇博客,讲他们用的技术:
http://blog.getprismatic.com/blog/2012/4/5/software-engineering
相关部分摘要:
While we make heavy use of the core of Clojure, we don't use its concurrency
primitives (atoms, refs, STM, etc.) because a function like pmap doesn't
have enough fine grained control for our needs. We opt instead to build our
own concurrency abstractions in Clojure on top of the outstanding java.util.
concurrent package.

【在 p*****2 的大作中提到】
:
: Java自己实现了memory model了吧?

p*****2
发帖数: 21240
19

concurrency
our
util.
你直接上STM就行了吧?

【在 m******t 的大作中提到】
: 我C#写过一般规模的async + multithreading的service,Java没有相关经验,最近打
: 算把这个service用Clojure重写一遍,也在考虑相关的思路,打算尝试下Core.async,
: 多线程方面打算学prismatic,直接用java.util.concurrent或者简单包装下。
: 这个是Prismatic他们的一篇博客,讲他们用的技术:
: http://blog.getprismatic.com/blog/2012/4/5/software-engineering
: 相关部分摘要:
: While we make heavy use of the core of Clojure, we don't use its concurrency
: primitives (atoms, refs, STM, etc.) because a function like pmap doesn't
: have enough fine grained control for our needs. We opt instead to build our
: own concurrency abstractions in Clojure on top of the outstanding java.util.

m******t
发帖数: 635
20
那倒是,我们这个规模小,估计STM也没问题。我的Clojure也才刚入门,什么都想尝试
下。当然项目要正式开始的话,肯定也要写几个小程序load test下的。

【在 p*****2 的大作中提到】
:
: concurrency
: our
: util.
: 你直接上STM就行了吧?

相关主题
core java多线程一般面试什么java ,wait ,notify notifyall
size() method 为什么需要多线程保护?菜鸟问关于Java Programming的问题
AtomicInteger和volatile int有啥区别学java concurrent看哪个open source源码好? (转载)
进入Java版参与讨论
p*****2
发帖数: 21240
21

你们大概什么规模呢?大量用异步的话,性能应该不是啥问题。

【在 m******t 的大作中提到】
: 那倒是,我们这个规模小,估计STM也没问题。我的Clojure也才刚入门,什么都想尝试
: 下。当然项目要正式开始的话,肯定也要写几个小程序load test下的。

m******t
发帖数: 635
22
C#那个写的比较早,乱七八糟的小于1万行代码,基于IAsyncResult和callback那套,
很类似于现在的Javascript node.js那一坨。性能倒是真好,在一个vmware的虚拟机里
面跑windows 2003,轻松4、5百并行,压力测试时轻松上千。就是逻辑比较绕,debug
很困难,特别是写exception handling写的吐血。

【在 p*****2 的大作中提到】
:
: 你们大概什么规模呢?大量用异步的话,性能应该不是啥问题。

p*****2
发帖数: 21240
23

debug
我感觉JVM上异步做的都不是很好。你先用用,回来给来个总结吧。

【在 m******t 的大作中提到】
: C#那个写的比较早,乱七八糟的小于1万行代码,基于IAsyncResult和callback那套,
: 很类似于现在的Javascript node.js那一坨。性能倒是真好,在一个vmware的虚拟机里
: 面跑windows 2003,轻松4、5百并行,压力测试时轻松上千。就是逻辑比较绕,debug
: 很困难,特别是写exception handling写的吐血。

m******t
发帖数: 635
24
嗯,互相学习吧。

【在 p*****2 的大作中提到】
:
: debug
: 我感觉JVM上异步做的都不是很好。你先用用,回来给来个总结吧。

o***i
发帖数: 603
25
有非视频的推荐么?
看视频太慢太费时间了

【在 p*****2 的大作中提到】
:
: debug
: 我感觉JVM上异步做的都不是很好。你先用用,回来给来个总结吧。

p*****2
发帖数: 21240
26

http://www.slideshare.net/AlexNavis/clojure-concurrency?from_se

【在 o***i 的大作中提到】
: 有非视频的推荐么?
: 看视频太慢太费时间了

p*****3
发帖数: 488
b***i
发帖数: 3043
28
干啥的?数据库?

debug

【在 m******t 的大作中提到】
: C#那个写的比较早,乱七八糟的小于1万行代码,基于IAsyncResult和callback那套,
: 很类似于现在的Javascript node.js那一坨。性能倒是真好,在一个vmware的虚拟机里
: 面跑windows 2003,轻松4、5百并行,压力测试时轻松上千。就是逻辑比较绕,debug
: 很困难,特别是写exception handling写的吐血。

o***i
发帖数: 603
29
多谢!

【在 p*****2 的大作中提到】
:
: http://www.slideshare.net/AlexNavis/clojure-concurrency?from_se

T*********g
发帖数: 496
30
写过portal 的表示太tm 有用了

【在 p*****2 的大作中提到】
: 有时间折腾多线程是不是还不如学点别的?比如STM,AKKA这些。多线程看看理论是不
: 是就可以了?

相关主题
Twitter Search is Now 3x Faster using Java server向能人请教
学Scala,用哪本书好?基于JVM的脚本语言
请教一个多线程的问题怎么可以练习多线程编程呢?
进入Java版参与讨论
T*********g
发帖数: 496
31
正解

【在 d****i 的大作中提到】
: 记得以前好像是Java的多线程是完全独立于OS的线程的,现在的Java的多线程的实现实
: 际上底层调用的就是OS native thread,所以应该是OS thread的一层wrapper。

g**e
发帖数: 6127
32
没啥新货啊

【在 p*****3 的大作中提到】
: http://www.youtube.com/watch?v=1FX4zco0ziY
: 这个讲的很好

T*********g
发帖数: 496
33
刚好看到http://nnwq.iteye.com/blog/1976773

【在 p*****2 的大作中提到】
: 有时间折腾多线程是不是还不如学点别的?比如STM,AKKA这些。多线程看看理论是不
: 是就可以了?

g*****g
发帖数: 34805
34
这哥们不是一般的弱呀。像他这种单机,统计个session数目哪有什么难度,
一个AtomicInteger就解决了。

【在 T*********g 的大作中提到】
: 刚好看到http://nnwq.iteye.com/blog/1976773
p*****2
发帖数: 21240
35

大牛还真看了呀?

【在 g*****g 的大作中提到】
: 这哥们不是一般的弱呀。像他这种单机,统计个session数目哪有什么难度,
: 一个AtomicInteger就解决了。

z****e
发帖数: 54598
36
spring里面都是singleton
加一个状态就行了
concurrenthashmap放到那个bean里面去
然后每一次有session生成,塞入那个map
然后加一个时间戳,自己管理一下size
或者干脆就lru,前一段正好wwzz说起过
http://stackoverflow.com/questions/221525/how-would-you-impleme

【在 T*********g 的大作中提到】
: 刚好看到http://nnwq.iteye.com/blog/1976773
z****e
发帖数: 54598
37
一个双核cpu如果不多线程岂不是很浪费?
多core多cpu的server并不少见

【在 p*****2 的大作中提到】
: 有时间折腾多线程是不是还不如学点别的?比如STM,AKKA这些。多线程看看理论是不
: 是就可以了?

z****e
发帖数: 54598
38
只要避开并发操作,都不难
实际上单线程和异步也是用来规避并发用的

【在 b***i 的大作中提到】
: 多线程很简单啊,不就是semaphore什么吗?
z****e
发帖数: 54598
39
event-driven是flow时代提出来的概念,广泛应用于工作流中
工作流后来经常被批,ibm在各个银行等机构里面大量采用工作流这种event driven模式
async各个语言都实现了,下一步是让web service开始广泛支持这个
不过自己实现一个也不难,只要明白这是做什么,

【在 p*****2 的大作中提到】
:
: 大牛还真看了呀?

x****d
发帖数: 1766
40
zkss? web service support async, what is it? why it has anything to do with
language?

模式

【在 z****e 的大作中提到】
: event-driven是flow时代提出来的概念,广泛应用于工作流中
: 工作流后来经常被批,ibm在各个银行等机构里面大量采用工作流这种event driven模式
: async各个语言都实现了,下一步是让web service开始广泛支持这个
: 不过自己实现一个也不难,只要明白这是做什么,

相关主题
怎么可以练习多线程编程呢?学了段时间scala后
多线程真头疼,但也挺有趣NoThread concurrency
groovy主要的问题是什么?zhaoce大牛能不能high level的讲解一下java concurrency?
进入Java版参与讨论
b***i
发帖数: 3043
41
我也实在想不通并发有什么难的。要不哪位给各题目,让我们设计一下。

with

【在 x****d 的大作中提到】
: zkss? web service support async, what is it? why it has anything to do with
: language?
:
: 模式

z****e
发帖数: 54598
42
其实ws,async和language三者本身没有必然联系
但是实现async的ws还是比较缺少规范,现在ws一般都是sync的
所以异步的还需要一些规范,目前比较缺这种规范,所以很多时候都是自己定义自己实现
现在就在讨论,怎么支持这种规范,因为传统的ws已经做得没啥可做的了
就像soa也已经相对成熟,没啥可搞了,就开始搞event driven soa

with

【在 x****d 的大作中提到】
: zkss? web service support async, what is it? why it has anything to do with
: language?
:
: 模式

z****e
发帖数: 54598
43
资源并发访问导致冲突会死锁

【在 b***i 的大作中提到】
: 我也实在想不通并发有什么难的。要不哪位给各题目,让我们设计一下。
:
: with

b***i
发帖数: 3043
44
这不是多线程实现的基本注意事项之一吗。解决方案有按顺序锁的,还有如果可以锁就
锁,不能就不锁的方法,再不行就看log。多调试。锁啊锁就习惯了。

【在 z****e 的大作中提到】
: 资源并发访问导致冲突会死锁
p*****2
发帖数: 21240
45

大牛,AKKA,STM跟多线程不矛盾

【在 z****e 的大作中提到】
: 一个双核cpu如果不多线程岂不是很浪费?
: 多core多cpu的server并不少见

z****e
发帖数: 54598
46
哈,原来你说的是java的多线程

【在 p*****2 的大作中提到】
:
: 大牛,AKKA,STM跟多线程不矛盾

z****e
发帖数: 54598
47
是,但是还是比较麻烦,自己实现多线程往往会有这种问题

【在 b***i 的大作中提到】
: 这不是多线程实现的基本注意事项之一吗。解决方案有按顺序锁的,还有如果可以锁就
: 锁,不能就不锁的方法,再不行就看log。多调试。锁啊锁就习惯了。

T*********g
发帖数: 496
48
呵呵 他是不太行。 我转的目的是为了回答楼主的问题。多线程在工作中还是需要的。

【在 g*****g 的大作中提到】
: 这哥们不是一般的弱呀。像他这种单机,统计个session数目哪有什么难度,
: 一个AtomicInteger就解决了。

p*****2
发帖数: 21240
49

可是我说的是Java多线程呀。

【在 T*********g 的大作中提到】
: 呵呵 他是不太行。 我转的目的是为了回答楼主的问题。多线程在工作中还是需要的。
b***i
发帖数: 3043
50
最近有些新技术,我来讨论一下STM是怎么回事?
它能解决哪种locking解决不了的东西?wiki上的例子我愣没看懂

【在 p*****2 的大作中提到】
:
: 可是我说的是Java多线程呀。

相关主题
Concurrent update of highly contended resources现在都有啥好办法size() method 为什么需要多线程保护?
求推荐的java多线程教程AtomicInteger和volatile int有啥区别
core java多线程一般面试什么java ,wait ,notify notifyall
进入Java版参与讨论
p*****2
发帖数: 21240
51
concurrency
b***i
发帖数: 3043
52
这么说吧,AKKA能解决的问题,包含STM能解决的问题吗?
比如,同时修改两个Map,就是STM wiki的例子。atomic,这个在AKKA里面能解决吗?

【在 p*****2 的大作中提到】
: concurrency
p*****2
发帖数: 21240
53

AKKA跟STM两个东西,不过都是为了解决并行问题的。
AKKA讲究的是immutability。

【在 b***i 的大作中提到】
: 这么说吧,AKKA能解决的问题,包含STM能解决的问题吗?
: 比如,同时修改两个Map,就是STM wiki的例子。atomic,这个在AKKA里面能解决吗?

1 (共1页)
进入Java版参与讨论
相关主题
菜鸟问关于Java Programming的问题多线程真头疼,但也挺有趣
学java concurrent看哪个open source源码好? (转载)groovy主要的问题是什么?
Twitter Search is Now 3x Faster using Java server学了段时间scala后
学Scala,用哪本书好?NoThread concurrency
请教一个多线程的问题zhaoce大牛能不能high level的讲解一下java concurrency?
向能人请教Concurrent update of highly contended resources现在都有啥好办法
基于JVM的脚本语言求推荐的java多线程教程
怎么可以练习多线程编程呢?core java多线程一般面试什么
相关话题的讨论汇总
话题: 多线程话题: java话题: stm话题: akka