java.lang.Runnable vs System.Delegate

java.lang.Runnable vs System.Delegate,java,.net,jvm,clr,Java,.net,Jvm,Clr,我两个都用了不少,但我对它们的秘密知之甚少。它们有什么不同,又有什么相同之处?在我看来,它们非常相似,我将以几乎相同的方式使用它们,尽管遗憾的是java没有lambda表达式,我不知道如何以类型安全的方式使用Runnable 具体来说,我说的是Oracle JVM中的java.lang.Runnable,而不是J#vs.Net运行时如何使用System.Delegate。关于java,Runnable没有什么特别之处,除了线程支持和java.util.concurrent库是为使用它而构建的。这

我两个都用了不少,但我对它们的秘密知之甚少。它们有什么不同,又有什么相同之处?在我看来,它们非常相似,我将以几乎相同的方式使用它们,尽管遗憾的是java没有lambda表达式,我不知道如何以类型安全的方式使用Runnable


具体来说,我说的是Oracle JVM中的java.lang.Runnable,而不是J#vs.Net运行时如何使用System.Delegate。

关于java,Runnable没有什么特别之处,除了线程支持和java.util.concurrent库是为使用它而构建的。这只是另一个界面。如果您不喜欢它有void return type,您可以使用Future,或者自己使用。不管你怎么做,产生的代码都不会令人满意,至少在Java 8成为主流之前是这样。

我相信Java 8会有lambda表达式。
Java.lang.Runnable
只是一个接口,它与
System.Delegate
完全不同。不知道为什么要将一个与另一个进行比较。System.Delegate似乎没有太大不同,因此它是一个抽象类,而不是一个接口,但在我看来,除了一点语法上的甜点之外,它几乎是相同的。如果你认为这有很大的不同,请详细说明如何?我真的很好奇,因为我在各自的语言中几乎完全相同地使用它们。除了.Net事件和lambdas之外。我觉得它们几乎一样,所以我试图找出它们的不同之处。我不是在抱怨缺少lambda,也不是说Runnable或Delegate更好。既然您说过Runnable没有什么特别之处,这是否意味着您看到了委托的一些特别之处?