d*e
2 楼
怎么分?
飞鸽有贡献,小姨受了伤害,当然我贡献最大
飞鸽有贡献,小姨受了伤害,当然我贡献最大
h*2
3 楼
最好的友情
是不用天天在一起的,多年不见,却一直互相惦念的友情最深。
惦念外,更多是怀念。
过去在一起的美好时光,历历在目,怀念朋友,怀念青春。
有时候,即使是天天联系的朋友,还是会怀念,旧时光一片安详的在那里,回不去了,
却总想回头看看。
念旧,惜物。
是不用天天在一起的,多年不见,却一直互相惦念的友情最深。
惦念外,更多是怀念。
过去在一起的美好时光,历历在目,怀念朋友,怀念青春。
有时候,即使是天天联系的朋友,还是会怀念,旧时光一片安详的在那里,回不去了,
却总想回头看看。
念旧,惜物。
z*e
4 楼
就是vertx-sync
就是利用fiber构建一个轻量级的thread
which并不一一对应kernal thread
简单说,如果你block了fiber
并不会导致os的thread被blocked
通过这种方式,你就可以丢掉promise, rxjava以及更为糟糕的callback了
直接用你最熟悉的sync的方式编写异步代码
唯一的改变就是你把Future改成Message
然后随便用.get, .body,会block fiber但是没有关系,不会阻塞thread
类似goroutine,vert.x依赖的这个类似go的项目名字叫做quasar
http://docs.paralleluniverse.co/quasar/
然后vert.x就把quasar的api用它自己的api包装起来
就类似vert.x把akka的actor给抄了过来,然后用相对简单的api包装起来一样
3.1发布之前,对于这个需求的呼声相当高,这是链接
http://github.com/vert-x3/vertx-sync/blob/master/src/main/ascii
效率对比,quasar做了一个跟go还有erlang的简单对比,13年有一个blog
http://blog.paralleluniverse.co/2013/05/02/quasar-pulsar/
举个简单例子,比如这个
Future reply = awaitResult(h -> eb.send("someaddress", "ping", h));
System.out.println("Received reply " + reply.body());
到第二步,system.out的时候,会block当前thread
所以不适合把这段代码放到verticle中去,因为会把event loop给blocked
但是如果你换成了Message which使用了 fiber,代码就变成了这样
Message reply = awaitResult(h -> eb.send("someaddress", "ping", h));
System.out.println("Received reply " + reply.body());
就不会block thread,但是代码依旧会按照顺序执行,先执行完成第一步之后,再执行
第二步
实际上就是一个cb,只不过被放到了api level中去,对用户来说是透明的
因为不会block thread,所以尽管放到verticle中去运行,没有关系
不会block eventloop,写起来就简单很多
当然你还是可以用cb,promise,rx这些
从这点上看,异步就快白菜了,作为第一生产力的轮子快造好了
java轮子拯救世界
就是利用fiber构建一个轻量级的thread
which并不一一对应kernal thread
简单说,如果你block了fiber
并不会导致os的thread被blocked
通过这种方式,你就可以丢掉promise, rxjava以及更为糟糕的callback了
直接用你最熟悉的sync的方式编写异步代码
唯一的改变就是你把Future改成Message
然后随便用.get, .body,会block fiber但是没有关系,不会阻塞thread
类似goroutine,vert.x依赖的这个类似go的项目名字叫做quasar
http://docs.paralleluniverse.co/quasar/
然后vert.x就把quasar的api用它自己的api包装起来
就类似vert.x把akka的actor给抄了过来,然后用相对简单的api包装起来一样
3.1发布之前,对于这个需求的呼声相当高,这是链接
http://github.com/vert-x3/vertx-sync/blob/master/src/main/ascii
效率对比,quasar做了一个跟go还有erlang的简单对比,13年有一个blog
http://blog.paralleluniverse.co/2013/05/02/quasar-pulsar/
举个简单例子,比如这个
Future
System.out.println("Received reply " + reply.body());
到第二步,system.out的时候,会block当前thread
所以不适合把这段代码放到verticle中去,因为会把event loop给blocked
但是如果你换成了Message which使用了 fiber,代码就变成了这样
Message
System.out.println("Received reply " + reply.body());
就不会block thread,但是代码依旧会按照顺序执行,先执行完成第一步之后,再执行
第二步
实际上就是一个cb,只不过被放到了api level中去,对用户来说是透明的
因为不会block thread,所以尽管放到verticle中去运行,没有关系
不会block eventloop,写起来就简单很多
当然你还是可以用cb,promise,rx这些
从这点上看,异步就快白菜了,作为第一生产力的轮子快造好了
java轮子拯救世界
d*e
5 楼
###此帖已应当事人要求删除###
n*0
7 楼
葫芦漂亮。
p*o
8 楼
python啥时候出来?
【在 z****e 的大作中提到】
: 就是vertx-sync
: 就是利用fiber构建一个轻量级的thread
: which并不一一对应kernal thread
: 简单说,如果你block了fiber
: 并不会导致os的thread被blocked
: 通过这种方式,你就可以丢掉promise, rxjava以及更为糟糕的callback了
: 直接用你最熟悉的sync的方式编写异步代码
: 唯一的改变就是你把Future改成Message
: 然后随便用.get, .body,会block fiber但是没有关系,不会阻塞thread
: 类似goroutine,vert.x依赖的这个类似go的项目名字叫做quasar
【在 z****e 的大作中提到】
: 就是vertx-sync
: 就是利用fiber构建一个轻量级的thread
: which并不一一对应kernal thread
: 简单说,如果你block了fiber
: 并不会导致os的thread被blocked
: 通过这种方式,你就可以丢掉promise, rxjava以及更为糟糕的callback了
: 直接用你最熟悉的sync的方式编写异步代码
: 唯一的改变就是你把Future改成Message
: 然后随便用.get, .body,会block fiber但是没有关系,不会阻塞thread
: 类似goroutine,vert.x依赖的这个类似go的项目名字叫做quasar
m*3
11 楼
对啊,说的挺对的。友情是美好的,还有未名空间的微博也已经开通了。
l*s
15 楼
好像就是.net的async+await关键字的feature.
【在 z****e 的大作中提到】
: 就是vertx-sync
: 就是利用fiber构建一个轻量级的thread
: which并不一一对应kernal thread
: 简单说,如果你block了fiber
: 并不会导致os的thread被blocked
: 通过这种方式,你就可以丢掉promise, rxjava以及更为糟糕的callback了
: 直接用你最熟悉的sync的方式编写异步代码
: 唯一的改变就是你把Future改成Message
: 然后随便用.get, .body,会block fiber但是没有关系,不会阻塞thread
: 类似goroutine,vert.x依赖的这个类似go的项目名字叫做quasar
【在 z****e 的大作中提到】
: 就是vertx-sync
: 就是利用fiber构建一个轻量级的thread
: which并不一一对应kernal thread
: 简单说,如果你block了fiber
: 并不会导致os的thread被blocked
: 通过这种方式,你就可以丢掉promise, rxjava以及更为糟糕的callback了
: 直接用你最熟悉的sync的方式编写异步代码
: 唯一的改变就是你把Future改成Message
: 然后随便用.get, .body,会block fiber但是没有关系,不会阻塞thread
: 类似goroutine,vert.x依赖的这个类似go的项目名字叫做quasar
s*o
18 楼
Tim Fox:
Apparently folks, JavaEE is the future! (Or so people are telling me). What
do you think about that?
Apparently folks, JavaEE is the future! (Or so people are telling me). What
do you think about that?
r*r
19 楼
what a chef!!!!!
z*e
21 楼
jee是java成熟的规范的合集,vert.x越做越像jee,但是是脚本的jee,还有其它的,
跟jee是一个很好的互补,我不认为vert.x应该纳入jee,强迫要求一般的企业开发用
ruby等脚本没有意义,程序员不管会哪个轮子,学习另外一个都是很好的提升,不同的
东西,架构,理念都不一样
:Tim Fox:
:Apparently folks, JavaEE is the future! (Or so people are telling me).
What do you think about that?
跟jee是一个很好的互补,我不认为vert.x应该纳入jee,强迫要求一般的企业开发用
ruby等脚本没有意义,程序员不管会哪个轮子,学习另外一个都是很好的提升,不同的
东西,架构,理念都不一样
:Tim Fox:
:Apparently folks, JavaEE is the future! (Or so people are telling me).
What do you think about that?
s*o
24 楼
老赵理解错了,Tim Fox是在发牢骚。有可能是red hat 内部的JEE五毛诸如Arun
Guupta之流在搞vert.x的小动作
【在 z****e 的大作中提到】
: jee是java成熟的规范的合集,vert.x越做越像jee,但是是脚本的jee,还有其它的,
: 跟jee是一个很好的互补,我不认为vert.x应该纳入jee,强迫要求一般的企业开发用
: ruby等脚本没有意义,程序员不管会哪个轮子,学习另外一个都是很好的提升,不同的
: 东西,架构,理念都不一样
:
: :Tim Fox:
: :Apparently folks, JavaEE is the future! (Or so people are telling me).
: What do you think about that?
Guupta之流在搞vert.x的小动作
【在 z****e 的大作中提到】
: jee是java成熟的规范的合集,vert.x越做越像jee,但是是脚本的jee,还有其它的,
: 跟jee是一个很好的互补,我不认为vert.x应该纳入jee,强迫要求一般的企业开发用
: ruby等脚本没有意义,程序员不管会哪个轮子,学习另外一个都是很好的提升,不同的
: 东西,架构,理念都不一样
:
: :Tim Fox:
: :Apparently folks, JavaEE is the future! (Or so people are telling me).
: What do you think about that?
q*d
25 楼
卖相好好啊
更喜欢吃下面垫番薯和南瓜的
更喜欢吃下面垫番薯和南瓜的
z*e
27 楼
嗯,有可能,vert.x的core developers很多以前都在red hat的jboss组
比如这位
http://www.linkedin.com/in/normanmaurer
不可能现在才说这些话,多半有人给他打了鸡血
感觉这几个人在vert.x, apple, red hat, apache这些组织里面串联过
【在 s***o 的大作中提到】
: 老赵理解错了,Tim Fox是在发牢骚。有可能是red hat 内部的JEE五毛诸如Arun
: Guupta之流在搞vert.x的小动作
t*r
30 楼
Looks interesting
z*e
33 楼
昨晚看了看,大概是这么一回事
这个东西主要是用来解决callback hell滴
也就是各种恶心的金字塔
让异步之后的处理变得更为flat
而不用担心被blocked
具体的做法是
1)把quasar的lib放入vert.x的lib文件夹下
2)更改extends的class
3)同时启动时候需要加参数
4)最后需要在你使用的方法上加入@Suspendable这个annotation
从这几点上看,还是略微折腾了点
离傻瓜化还有距离,不过anyway,千里之行
解决的问题呢,就是Future之后的future.get, body这些方法
调用的时候都不会block当前的thread,所以可以直接像Future例子一样用async
而不用担心被blocked
以前Future future = awaitResult...
然后future.get();这一步是blocked,如果要想不blocked
就需要callback which会制造出金字塔来
或者rxjava/promise这种publish/subscribe模式,但是略显得麻烦
用了这个之后,这一步就不是blocked
就不需要你再用callback, rxjava & promise了
虽然vert.x也还是支持这三种方式
大概就这么多,呼声很高
加入这个feature的呼声比做scala,python语言的支持呼声都要高
最后加入这个也是顺应了民意,另外一个是redeploy功能
最终的结果还是需要等月底发布之后试一下才知道
这个东西主要是用来解决callback hell滴
也就是各种恶心的金字塔
让异步之后的处理变得更为flat
而不用担心被blocked
具体的做法是
1)把quasar的lib放入vert.x的lib文件夹下
2)更改extends的class
3)同时启动时候需要加参数
4)最后需要在你使用的方法上加入@Suspendable这个annotation
从这几点上看,还是略微折腾了点
离傻瓜化还有距离,不过anyway,千里之行
解决的问题呢,就是Future之后的future.get, body这些方法
调用的时候都不会block当前的thread,所以可以直接像Future例子一样用async
而不用担心被blocked
以前Future future = awaitResult...
然后future.get();这一步是blocked,如果要想不blocked
就需要callback which会制造出金字塔来
或者rxjava/promise这种publish/subscribe模式,但是略显得麻烦
用了这个之后,这一步就不是blocked
就不需要你再用callback, rxjava & promise了
虽然vert.x也还是支持这三种方式
大概就这么多,呼声很高
加入这个feature的呼声比做scala,python语言的支持呼声都要高
最后加入这个也是顺应了民意,另外一个是redeploy功能
最终的结果还是需要等月底发布之后试一下才知道
S*t
36 楼
试了一下 vertx.sync, 确实不错。
现在就可以用 3.1.0-SNAPSHOT了。vertx.core还用 3.0.0就可以。
代码写起来比 rxjava 容易太多了。代码也容易读懂,毕竟大家更习惯sync的思路。
需要注意的是 所有用到异步的地方都要加@Suspendable ,包括 interface。
这块搞了我好久。
现在就可以用 3.1.0-SNAPSHOT了。vertx.core还用 3.0.0就可以。
代码写起来比 rxjava 容易太多了。代码也容易读懂,毕竟大家更习惯sync的思路。
需要注意的是 所有用到异步的地方都要加@Suspendable ,包括 interface。
这块搞了我好久。
s*y
37 楼
niu ren
f*t
39 楼
if using fiber why still sticking to Vert.x than use dropwizard
which is much simpler and more familiar to most
【在 S*********t 的大作中提到】
: 试了一下 vertx.sync, 确实不错。
: 现在就可以用 3.1.0-SNAPSHOT了。vertx.core还用 3.0.0就可以。
: 代码写起来比 rxjava 容易太多了。代码也容易读懂,毕竟大家更习惯sync的思路。
: 需要注意的是 所有用到异步的地方都要加@Suspendable ,包括 interface。
: 这块搞了我好久。
which is much simpler and more familiar to most
【在 S*********t 的大作中提到】
: 试了一下 vertx.sync, 确实不错。
: 现在就可以用 3.1.0-SNAPSHOT了。vertx.core还用 3.0.0就可以。
: 代码写起来比 rxjava 容易太多了。代码也容易读懂,毕竟大家更习惯sync的思路。
: 需要注意的是 所有用到异步的地方都要加@Suspendable ,包括 interface。
: 这块搞了我好久。
t*0
40 楼
赞!
z*e
42 楼
不觉得vert.x更难,我觉得dropwizard的上手难度要高不少
这两个用的库有不少重合的,但是dropwizard更传统一点
用的主要还是jee那些东东,做了一个集成
相比之下,vert.x对于udp, nosql, polyglot这些支持要强过dropwizard
而且vert.x主要优势在于kernal绑定的threads数量,eventloop的搞法
其他都是thread pool,从效率上说,应该vert.x会更强一点
不过如果都用了quasar,本质上的threads数量应该是一样的
另外一个就是,其他大部分框架,包括dropwizard,servlet,spring
集成都要自己折腾,需要倒腾comsat integration
比如comsat-dropwizard
vert.x就有官方帮忙搞,所以会更傻瓜一点
【在 f*********t 的大作中提到】
: if using fiber why still sticking to Vert.x than use dropwizard
: which is much simpler and more familiar to most
n*g
43 楼
收藏了~
s*i
46 楼
这个单身汉很会做菜
j*r
49 楼
请问为什么我照你的方法做的粉蒸排骨,最后出锅时粉都是黏黏的湿搭搭的,不象你的
一粒粒的卖相那么漂亮。Thanks,
一粒粒的卖相那么漂亮。Thanks,
z*e
51 楼
是啊,这些东西都略微heavy了一点
而且不够灵活
比如udp,nosql,支持就不好了
udp怎么看都需要netty系的产品,比如netty, vert.x这些
nosql怎么看也都不怎么需要orm
【在 f*********t 的大作中提到】
: dropwizard is just a bundle of jersey, jetty, hibernate(optional)
: people don't even need to learn it, assuming most have already used these
: adding fiber to dropwizard is just a minor change
d*2
54 楼
这个对找老婆有用吗,考虑中。。。。
s*m
56 楼
这个很赞,Mark!
M*8
60 楼
赞!!
w*e
62 楼
流口水中。。
C*S
64 楼
很隐晦的征婚帖。
j*1
68 楼
总是不理解你为什么还单身。。。
w*i
101 楼
长期持有
温哥华同一经纪同一房屋40年中转手6次房价涨30倍
http://www.wenxuecity.com/news/2013/03/11/2277774.html
【在 J********i 的大作中提到】
: 炒房没得赚吧,除非买foreclsure或者short sale的
: 买房卖房手续费七七八八就7-9%,再加上其他损耗,10%打不住
温哥华同一经纪同一房屋40年中转手6次房价涨30倍
http://www.wenxuecity.com/news/2013/03/11/2277774.html
【在 J********i 的大作中提到】
: 炒房没得赚吧,除非买foreclsure或者short sale的
: 买房卖房手续费七七八八就7-9%,再加上其他损耗,10%打不住
J*i
102 楼
做投资房的话,错过最好时机了,11年底12年初是最划算的。我这儿12年涨幅超过30%
。一个朋友80w买的房子,现在1.2M了,羡慕嫉妒恨
【在 w***i 的大作中提到】
: 长期持有
: 温哥华同一经纪同一房屋40年中转手6次房价涨30倍
: http://www.wenxuecity.com/news/2013/03/11/2277774.html
。一个朋友80w买的房子,现在1.2M了,羡慕嫉妒恨
【在 w***i 的大作中提到】
: 长期持有
: 温哥华同一经纪同一房屋40年中转手6次房价涨30倍
: http://www.wenxuecity.com/news/2013/03/11/2277774.html
b*e
107 楼
你们两个扼腕完了?
b*e
108 楼
我家刚刚又定了一套,是不是要亏了?
w*i
208 楼
http://en.wikipedia.org/wiki/Filet-O-Fish
【在 J********i 的大作中提到】
: 多买几个
: 里面是炸鱼吗?
【在 J********i 的大作中提到】
: 多买几个
: 里面是炸鱼吗?
J*i
209 楼
一点蔬菜都没有啊,一看就不健康
【在 w***i 的大作中提到】
: http://en.wikipedia.org/wiki/Filet-O-Fish
【在 w***i 的大作中提到】
: http://en.wikipedia.org/wiki/Filet-O-Fish
相关阅读
有偿求教 jQueryeBay的二手服务器如何?免费电子书access violation of C# in Visual Studio 2013 (转载)如何动态定义类和方法Crosswalk comes to Ionic请教各路C++大神 为什么f(3) 输出是 'dd'新的<Web技术日报 >老话题:旧硬盘如何处理? (转载)io.js发布1.0版本了。正式和node.js打擂台c#中如何动态创建变量名什么样的系统最有效地将讨论的成果沉淀。一项技术的生命力有多久?Moving from Node.js to Go at Bowery想跟着几个牛人实践一下新语言现在流行microframeworkjsoup真是好东东Linux vulnerability "GHOST"docker有没有windows client?PhD在读,被三哥拉着创业 (转载)