![]() |
1
2
我认为语言和运行时将继续向前发展,不断从开发人员那里抽象出问题,并使我们的生活更容易和更有效率。 以你的例子-线程。为了简化我们日常使用的线程模型,在.NET世界中有一些很好的新功能即将面世。 STM.NET 例如,最终可能会使共享状态更安全地处理。这个 parallel extensions 在.NET 4中,与当前技术相比,线程处理非常容易。 |
![]() |
2
1
我认为事务性内存对于解决其中一些问题是有希望的。我不确定这是否以某种方式回答了你的问题,但这在任何情况下都是一个有趣的话题: http://en.wikipedia.org/wiki/Software_transactional_memory 大约一年前,有一集关于软件工程无线电的话题。 |
![]() |
3
1
首先,“托管”有点用词不当:像ocaml、haskell和sml这样的语言在完全编译的同时实现了这样的保护和安全性。所有相关的“管理”都是通过静态分析在编译时进行的,这有助于优化和加快速度。 无论如何,要回答您的问题:如果您查看像Erlang和Haskell这样的语言,那么状态在默认情况下是孤立的和不可变的。对于这种系统,线程和可重入性在默认情况下是安全的,而且由于您必须竭尽全力地打破这些规则,很明显可以看到哪里会出现不安全的代码。 通过从安全默认值开始,但为高级不安全使用留出空间,您可以获得两个方面的最佳效果。根据您的定义,未来安全的系统也可能遵循其中的一些实践,这似乎是合理的。 |
![]() |
4
0
没有什么。线程状态和可重入性不是我看到的工具/运行时解决的问题。相反,我认为未来人们将转向避免使用可变状态编程来绕过这些问题的样式。语言和库可以帮助使这些编程风格更具吸引力,但这些工具并不是解决方案——改变我们编写代码的方式就是解决方案。 |
|
Ma Joonyoung · 粗粒度和细粒度链表的时间比较 1 年前 |
![]() |
user1700890 · 了解交互式代理Python API中的线程 2 年前 |
![]() |
AntonBoarf · 为什么要将实例变量指定给局部变量? 2 年前 |
![]() |
rhymes · 如何让线程操作相同的java列表 2 年前 |