Redian新闻
>
请教个 java 的 parallelism 问题
avatar
请教个 java 的 parallelism 问题# Programming - 葵花宝典
k*e
1
今天想实现前两天大家讨论的minmaxheap找median,结果碰到一个问题。
I want pass function pointer to create a heap that has comparison function
as I defined. Thus I don't need both minHeap maxHeap. By the way, because I
have heap with template parameters, I also need function pointers with
template parameter.
It looks like:
template
class Heap {
private:
T* data;
public:
Heap(const vector& dataSrc, bool (*cmp)(T, T);
};
However, I cannot get a function pointer with template parameter. I really
had no idea h
avatar
S*k
2
在c#里一般不能超过cpu数目,否则cpu usage可能会太高。影响background program
的运行。
java的parallelism似乎也是和cpu数目有关,但是可以设到100的量级。java的
parallelism 到底是个什么?太高的话会不会有问题?
avatar
H*M
3
你这是好学还是什么?
如果你不想自己写的话,STL里有现成的priority_queue,稍微重写个compare的functo
r就可以用成minHeap和maxHeap了

I

【在 k***e 的大作中提到】
: 今天想实现前两天大家讨论的minmaxheap找median,结果碰到一个问题。
: I want pass function pointer to create a heap that has comparison function
: as I defined. Thus I don't need both minHeap maxHeap. By the way, because I
: have heap with template parameters, I also need function pointers with
: template parameter.
: It looks like:
: template
: class Heap {
: private:
: T* data;

avatar
c*e
4
parallelism 到底是个什么?这个你知道吧?

【在 S***k 的大作中提到】
: 在c#里一般不能超过cpu数目,否则cpu usage可能会太高。影响background program
: 的运行。
: java的parallelism似乎也是和cpu数目有关,但是可以设到100的量级。java的
: parallelism 到底是个什么?太高的话会不会有问题?

avatar
k*e
5
晕 我只是自己练练手 怎么弄的像干了啥见不得人的事情一样
avatar
w*z
6
看样子, 他不知道。

【在 c*********e 的大作中提到】
: parallelism 到底是个什么?这个你知道吧?
avatar
m*0
7
lol~
好学都被鄙视了。
avatar
S*k
8
My understanding is the number of worker threads could run at the same time.

【在 c*********e 的大作中提到】
: parallelism 到底是个什么?这个你知道吧?
avatar
H*M
9
faint to death!

【在 k***e 的大作中提到】
: 晕 我只是自己练练手 怎么弄的像干了啥见不得人的事情一样
avatar
g*e
10
多读书多看报

time.

【在 S***k 的大作中提到】
: My understanding is the number of worker threads could run at the same time.
avatar
H*M
11
did I BS ?

【在 m********0 的大作中提到】
: lol~
: 好学都被鄙视了。

avatar
w*z
12
靠,只听说 爪哇程序员基础差,原来c#程序员也不咋的。

【在 g*********e 的大作中提到】
: 多读书多看报
:
: time.

avatar
g*y
13
change function pointer to a functor should be ok
template class CMP{
public:
operator()(const T &t1, const T &t2){ return t1};
template class Heap{
public:
Heap(const vector &data, CMP cmp);
};

I

【在 k***e 的大作中提到】
: 今天想实现前两天大家讨论的minmaxheap找median,结果碰到一个问题。
: I want pass function pointer to create a heap that has comparison function
: as I defined. Thus I don't need both minHeap maxHeap. By the way, because I
: have heap with template parameters, I also need function pointers with
: template parameter.
: It looks like:
: template
: class Heap {
: private:
: T* data;

avatar
T*x
14
认真的问题deserve认真的回答。可惜这个问题我也不是很懂。

【在 S***k 的大作中提到】
: 在c#里一般不能超过cpu数目,否则cpu usage可能会太高。影响background program
: 的运行。
: java的parallelism似乎也是和cpu数目有关,但是可以设到100的量级。java的
: parallelism 到底是个什么?太高的话会不会有问题?

avatar
s*o
15
我觉得Spark的问题很有道理阿,parallelism != concurrency。你们几个能不能好好
解释一下,大家也都学习学习。
avatar
k*g
16

如果是 computational intensive task 的话,你的说法是对的
但不是 cpu usage 太高,而是 thread switching 有 overhead ,会降低效率
io intensive, sleep intensive, wait intensive tasks 没有这个顾虑
几百到几千都不是问题
但要注意内存用量
但 thread count 太高, thread notify time to thread wake up time 也会高

【在 S***k 的大作中提到】
: 在c#里一般不能超过cpu数目,否则cpu usage可能会太高。影响background program
: 的运行。
: java的parallelism似乎也是和cpu数目有关,但是可以设到100的量级。java的
: parallelism 到底是个什么?太高的话会不会有问题?

avatar
s*k
17
看看rob pike的经典slides吧,parallelism可以被concurrency执行,也可以不,

【在 s***o 的大作中提到】
: 我觉得Spark的问题很有道理阿,parallelism != concurrency。你们几个能不能好好
: 解释一下,大家也都学习学习。

avatar
s*k
18
举个例子:你接娃回家和老婆做饭就是parallelism两件事,因为不share资源,这两件
事可以concurrent执行,你接回家老婆饭也做好,但是也可以不concurrent执行,你接
回家老婆再做饭

【在 s***o 的大作中提到】
: 我觉得Spark的问题很有道理阿,parallelism != concurrency。你们几个能不能好好
: 解释一下,大家也都学习学习。

avatar
s*o
19
我的理解parallelism强调的是同时进行(simultaneous execution)。一个典型例子比
如list.map操作,list 可以split成几段,在不同的core上处理完再合并。Java
ForJoinPool parallelism default level就是cpu数量,设置成100不知会对
performance有啥影响?
Rob Pike的Slides是这个吗 - http://talks.golang.org/2012/waza.slide#1 ?

【在 s********k 的大作中提到】
: 举个例子:你接娃回家和老婆做饭就是parallelism两件事,因为不share资源,这两件
: 事可以concurrent执行,你接回家老婆饭也做好,但是也可以不concurrent执行,你接
: 回家老婆再做饭

avatar
s*k
20
你的例子跟我其实本质一样,不过parallelism强调的不是同时进行,而是互不冲突可
以同时进行

【在 s***o 的大作中提到】
: 我的理解parallelism强调的是同时进行(simultaneous execution)。一个典型例子比
: 如list.map操作,list 可以split成几段,在不同的core上处理完再合并。Java
: ForJoinPool parallelism default level就是cpu数量,设置成100不知会对
: performance有啥影响?
: Rob Pike的Slides是这个吗 - http://talks.golang.org/2012/waza.slide#1 ?

相关阅读
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。