小编Mar*_*ote的帖子

小Schemer和球拍

我开始阅读Little Schemer了,而不是PLT Scheme,我们有Racket.我想知道Racket是否适合在本书中进行练习,或者我是否需要获得另一个真正的Scheme编译器.在我忘了告诉你之前,我的操作系统是Windows x64.

书,语言和范例足够复杂,我希望避免与编译器挣扎.

非常感谢提前.

scheme the-little-schemer racket

20
推荐指数
3
解决办法
5309
查看次数

线程信号基础知识

我知道C#,但我很难理解一些基本的(我认为)概念,比如信号.

我花了一些时间寻找一些例子,即使在这里也没有运气.也许一些例子或一个真实的简单场景会很好理解它.

c# multithreading

13
推荐指数
2
解决办法
3万
查看次数

using子句中的隐式变量是否会被垃圾收集?

在下面的代码中,底层代码是否包含对Foo类型的未命名变量实例的硬引用,或者是易受垃圾回收影响的项目?

using(new Foo())
{
    // Something done here.
}
Run Code Online (Sandbox Code Playgroud)

收集的项目只是一个信号量类型对象,它对资源执行一些引用计数,因此它不会在代码块中引用.

c# garbage-collection

3
推荐指数
1
解决办法
118
查看次数

发生异常后不要刷新会话

NHibernateSessionManager.Instance.GetSessionFrom(SessionFactoryConfigPath).Flush();
Run Code Online (Sandbox Code Playgroud)

我明白了

null id in FoodOrder.Core.Entities.Articles entry (don't flush the Session after an exception occurs)
Run Code Online (Sandbox Code Playgroud)

我可以使用try catch和session.Close或在这个例子中做什么更好?

public void CommitChanges()
        {
            if (NHibernateSessionManager.Instance.HasOpenTransactionOn(SessionFactoryConfigPath))
            {
                NHibernateSessionManager.Instance.CommitTransactionOn(SessionFactoryConfigPath);
            }
            else
            {
                try
                {
                    // If there's no transaction, just flush the changes
                    NHibernateSessionManager.Instance.GetSessionFrom(SessionFactoryConfigPath).Flush();
                }
                finally
                {
                    NHibernateSessionManager.Instance.GetSessionFrom(SessionFactoryConfigPath).Close();
                }
            }
        }
Run Code Online (Sandbox Code Playgroud)

c# nhibernate

2
推荐指数
1
解决办法
3950
查看次数