c*********e 发帖数: 16335 | |
d*******r 发帖数: 3299 | 2 主要优势是啥
【在 c*********e 的大作中提到】 : 难道是c#抄java的,青出于蓝而胜于蓝?
|
c*********e 发帖数: 16335 | 3 c# 直接用task,不用管thread,asp.net自己自动根据threadpool来分配要用几个thread.
奇怪,c#有这么好的功能,怎么出名的大project很少?
【在 d*******r 的大作中提到】 : 主要优势是啥
|
z****e 发帖数: 54598 | 4
thread.
妈蛋,同样的原理,你用java做一个有啥难的?
直接上threadpool,java也有阿
ejb什么都是threadpool
【在 c*********e 的大作中提到】 : c# 直接用task,不用管thread,asp.net自己自动根据threadpool来分配要用几个thread. : 奇怪,c#有这么好的功能,怎么出名的大project很少?
|
c*********e 发帖数: 16335 | 5 jvm调节参数,面试的时候就可以问一大堆;这个c#没有这些调节参数,人家自己系统里
面就自动调了,不用程序员动手。
【在 z****e 的大作中提到】 : : thread. : 妈蛋,同样的原理,你用java做一个有啥难的? : 直接上threadpool,java也有阿 : ejb什么都是threadpool
|
z****e 发帖数: 54598 | 6
threadpool的数量跟jvm有毛关系,这个纯粹是代码level的事
你难道通过jvm的参数来调节threadpool?
【在 c*********e 的大作中提到】 : jvm调节参数,面试的时候就可以问一大堆;这个c#没有这些调节参数,人家自己系统里 : 面就自动调了,不用程序员动手。
|
g*****g 发帖数: 34805 | 7 Java开threadpool就是一行的事情。实在觉得异步很难也可以用Spring之类的,一个
annotation就可以异步。Java喜欢把功能做进类库里,要比做进语言灵活很多。
thread.
【在 c*********e 的大作中提到】 : c# 直接用task,不用管thread,asp.net自己自动根据threadpool来分配要用几个thread. : 奇怪,c#有这么好的功能,怎么出名的大project很少?
|
l**********n 发帖数: 8443 | 8 c#很早就有delegate了。
【在 c*********e 的大作中提到】 : 难道是c#抄java的,青出于蓝而胜于蓝?
|
l**********n 发帖数: 8443 | 9 rxjava就是抄dotnet的
【在 l**********n 的大作中提到】 : c#很早就有delegate了。
|
l**********n 发帖数: 8443 | 10 java generics is not true generics.
【在 l**********n 的大作中提到】 : rxjava就是抄dotnet的
|
|
|
k**********g 发帖数: 989 | 11
上次我说 executorservice,有人说要打我脸
我想,打谁的脸还不知道呢
(放心,不是你)
【在 z****e 的大作中提到】 : : threadpool的数量跟jvm有毛关系,这个纯粹是代码level的事 : 你难道通过jvm的参数来调节threadpool?
|
z****e 发帖数: 54598 | 12
我记得很多年以前就有这个东西了
http://docs.oracle.com/javase/7/docs/api/java/util/concurrent/E
Since:
1.5,这个都是10年前的东东了
下面好几个impl随便选一个
AbstractExecutorService, ForkJoinPool, ScheduledThreadPoolExecutor,
ThreadPoolExecutor
【在 k**********g 的大作中提到】 : : 上次我说 executorservice,有人说要打我脸 : 我想,打谁的脸还不知道呢 : (放心,不是你)
|
z****e 发帖数: 54598 | 13
https://en.wikipedia.org/wiki/Reactive_programming
reactive programming应该早就有了
rxjava只是遵循了reactivex project制定的标准接口
减少跨语言带来的api更改制造的成本罢了
不用reactivex那些api一样可以做出来
【在 l**********n 的大作中提到】 : rxjava就是抄dotnet的
|
z****e 发帖数: 54598 | 14 task
https://docs.oracle.com/javase/tutorial/uiswing/concurrency/simple.html
不过task用得少,在single thread环境中用得比较多
比如swift和javafx,都用了task来实现多线程
swift叫做dispatch queue
javafx就叫task
主要是防止gui thread被打断从而制造出来的一个东西
从根本上不让你用thread,这个是错误的
swift通过sprit kit来封装这个pattern
但是server side的游戏主循环thread的话,如果不让你用thread
你启动主循环,游戏结束后销毁,这两步怎么搞?
用thread很直观,你直接启动一个thread,把主循环逻辑放入thread,start/run
然后放入pool里面,游戏一局结束之后,把flag设置为false,那么这个thread自动销毁
用task来搞这个就非常蛋疼 |
c*********e 发帖数: 16335 | 15 别动不动就是task,thread.
java里面都是用的callable,如果用executor的话。
【在 z****e 的大作中提到】 : task : https://docs.oracle.com/javase/tutorial/uiswing/concurrency/simple.html : 不过task用得少,在single thread环境中用得比较多 : 比如swift和javafx,都用了task来实现多线程 : swift叫做dispatch queue : javafx就叫task : 主要是防止gui thread被打断从而制造出来的一个东西 : 从根本上不让你用thread,这个是错误的 : swift通过sprit kit来封装这个pattern : 但是server side的游戏主循环thread的话,如果不让你用thread
|
k**0 发帖数: 19737 | 16 太简单了呗
不过用threadpool还是稍微慢一点,不如自己写thread快。
thread.
【在 c*********e 的大作中提到】 : c# 直接用task,不用管thread,asp.net自己自动根据threadpool来分配要用几个thread. : 奇怪,c#有这么好的功能,怎么出名的大project很少?
|
c*********e 发帖数: 16335 | 17 公司一小弟,用task c#写了个multi-threading,竟然奇慢无比。他研究了几个月都没
研究出来。
【在 k**0 的大作中提到】 : 太简单了呗 : 不过用threadpool还是稍微慢一点,不如自己写thread快。 : : thread.
|
k**********g 发帖数: 989 | 18
展开说说
【在 c*********e 的大作中提到】 : 公司一小弟,用task c#写了个multi-threading,竟然奇慢无比。他研究了几个月都没 : 研究出来。
|
k**0 发帖数: 19737 | 19 至少比单thread快N倍吧?否则瓶颈就不是在并行上。。。
【在 c*********e 的大作中提到】 : 公司一小弟,用task c#写了个multi-threading,竟然奇慢无比。他研究了几个月都没 : 研究出来。
|
c*********e 发帖数: 16335 | 20 我懒得研究他的代码,就是call某个著名网站的api拿回数据,竟然几个小时才取回10
行数据。
【在 k**0 的大作中提到】 : 至少比单thread快N倍吧?否则瓶颈就不是在并行上。。。
|
l**********n 发帖数: 8443 | 21 这种根本不需要多线程。
【在 c*********e 的大作中提到】 : 我懒得研究他的代码,就是call某个著名网站的api拿回数据,竟然几个小时才取回10 : 行数据。
|
c*********e 发帖数: 16335 | 22 怪就怪在,他的代码call一个网站的api,得到数据那么慢。
【在 l**********n 的大作中提到】 : 这种根本不需要多线程。
|