摘要:
数据库整合,为保证id唯一,将id改为guid,由 int 型 Id 改为 UniqueIdentifier 类型。 大致步奏如下: 阅读全文
摘要:
前面我们讲过了lock的用法以及竞争条件导致的错误,实际上lock关键字是Monitor类用例的一个语法糖。如果我们分解使用了lock关键字的代码,将会看到它如下面代码片段所示: 在多线程编程中另一个常见的多线程错误被称为死锁(deadlock)。在以下例子中,将演示使用Monitor类来避免死锁, 阅读全文
摘要:
C#中lock关键字主要是为确保当一个线程使用某些资源时,同时无法其他线程无法使用该资源。下面我们看看下面的小例子。 下面是输出结果,可以看到输出结果并非我们所期望的0,当然结果可能为0,但大多数情况下都不是。 在这个例子中,当主程序启动时,创建了一个Counter对象。该类定义了一个可以递增和递减 阅读全文
摘要:
在C#中,向线程中传递参数的方法通常有三种,将在下面的例子中展示。 1、当主程序启动时,首先创建了ThreadSample的一个对象,并提供了一个迭代次数。然后使用该对象的CountNumbers方法启动线程。该方法运行在另一个线程中,但是使用数字是10,该数字是通过ThreadSample对象的构 阅读全文
摘要:
当程序启动时定义了两个不同的线程。默认情况下,显式创建的线程是前台线程。前台线程与后台线程的主要区别在于:进程会等待所有的前台线程完成工作后再结束工作,但是如果只剩下后台线程,则会直接结束工作。从下面的小例子可以看出。 通过定义两个线程,并手动的设置ThreadTwo对象的IsBackground属 阅读全文
摘要:
Linux目录结构 /:根目录,所有的目录、文件、设备都在/之下,/就是Linux文件系统的组织者,也就是最上级的领导者 /bin:在一般的系统当中,都可以在这个目录下找到。Linux常用的命令。系统所需的那些命令位于于此目录。 /sbin:这个目录用来存放系统管理员的系统管理程序。大多是涉及系统管 阅读全文