小编Noc*_*ock的帖子

与仅有一个对象相比,锁定多个不同对象是否具有明显的影响?

我不知道问题是不是愚蠢,锁定和监视器对我来说是一个黑盒子.

但我正处理的情况是,我可以使用相同的锁定对象来锁定所有时间,或使用无限数量的对象来锁定更精细的粒度.

我知道第二种方法会减少锁争用,但我可能最终使用10K对象作为锁,我不知道它是否有影响.

底线:太多锁会伤到锁定还是没有影响?

编辑

我写了一个维护对象图的lib,数量可能非常高.目前它不是线程安全的,主要是因为Eric在他的评论中说.

我最初认为,如果用户想要做一些多线程,那么他/她将不得不处理锁定.

但是现在我想知道如果我必须使它成为线程安全的,那么最好的方法是什么(请注意,使它成为线程安全对我来说不是一个简单而轻松的选择,因此测试两种解决方案是我不能轻易做到的事情)?

由于目的是使图形的每个对象都是线程安全的,所以当我想访问/修改其属性时,我可以使用该对象的实例进行锁定.我知道这是减少争用的最佳方法,但我不知道它是否会扩展到只有一个锁定整个图形.

我知道需要考虑很多,有多少线程,特别是(我认为)一次有多个线程访问/更改对象的机会(我估计它非常低).但在这种情况下,我无法找到有关锁及其开销的准确信息.

.net c# multithreading

8
推荐指数
1
解决办法
930
查看次数

在Visual Studio 2012上调试着色器,找不到符号

我不知道你们中是否有很多人尝试使用Visual Studio 2012的新功能来调试基于Direct3D的应用程序.

我成功捕获了我的应用程序的框架,然后我想调试顶点着色器的执行: 在此输入图像描述

我点击绿色三角形来调试给定的顶点,但是我找到了"No Symbol Found"消息,这使我无法调试它.

有人知道如何为Visual Studio找到符号吗?

谢谢.

debugging direct3d sharpdx visual-studio-2012

7
推荐指数
1
解决办法
3185
查看次数