草庐IT

nb_threads

全部标签

c# - 何时在线程安全锁定代码中使用 'volatile' 或 'Thread.MemoryBarrier()'? (C#)

我什么时候应该使用volatile/Thread.MemoryBarrier()来保证线程安全? 最佳答案 当您想跨线程访问变量而不锁定时,您可以使用volatile/Thread.MemoryBarrier()。原子变量,例如int,总是一次性读取和写入整个变量。这意味着您永远不会在另一个线程更改它之前获得一半的值,而在它更改之后获得另一半。因此,您可以在不同线程中安全地读取和写入值,而无需同步。但是,编译器可能会优化一些读写操作,您可以使用volatile关键字来阻止这些操作。例如,如果您有这样的循环:sum=0;foreach

c# - WPF 调度程序 {"The calling thread cannot access this object because a different thread owns it."}

首先我需要说我是WPF和C#的菜鸟。应用程序:创建Mandelbrot图像(GUI)在这种情况下,我的调度员工作得很好:privatevoidprogressBarRefresh(){while((con.Progress)尝试使用以下代码执行此操作时,我收到了消息(标题):bmp=BitmapSource.Create(width,height,96,96,pf,null,rawImage,stride);this.Dispatcher.Invoke(DispatcherPriority.Send,newAction(delegate{img.Source=bmp;ViewBox.C

c# - 使用 Thread.Sleep 等待的替代方法

首先,我问的不是与C#-AlternativetoThread.Sleep?相同的问题,或AlternativetoThread.SleepinC#?.我认为我没有错误地使用它,并且在特定情况下需要一个真正的替代品。在代码分析运行期间,我看到了一个令人惊讶的违规行为:UsageofThread.Sleep()isasignofflaweddesign.此违规导致PeterRichie'sarticle关于为什么这构成糟糕的设计。我们都知道线程创建是昂贵的,线程中的阻塞意味着对池的争用。我们也知道每个线程都会分配一个meg的内存,所以它应该有一个短的生命周期,阻塞在UI上是邪恶的,使用s

c# - 懒惰<T> : "The function evaluation requires all threads to run"

我有一个带有一些静态属性的静态类。我在一个静态构造函数中初始化了所有这些,但后来意识到这是浪费,我应该在需要时延迟加载每个属性。所以我转而使用System.Lazytype来完成所有肮脏的工作,并告诉它不要使用它的任何线程安全功能,因为在我的例子中执行总是单线程的。我得到了以下类(class):publicstaticclassQueues{privatestaticreadonlyLazyg_Parser=newLazy(()=>newQueue(Config.ParserQueueName),false);privatestaticreadonlyLazyg_Distributor

c# - Thread.Abort() 是如何工作的?

我们通常在将无效输入传递给方法或对象即将进入无效状态时抛出异常。让我们考虑以下示例privatevoidSomeMethod(stringvalue){if(value==null)thrownewArgumentNullException("value");//Methodlogicgoeshere}在上面的示例中,我插入了一个抛出ArgumentNullException的throw语句。我的问题是运行时如何设法抛出ThreadAbortException。显然不可能在所有方法中都使用throw语句,甚至运行时也设法在我们的自定义方法中抛出ThreadAbortException。

为什么这么NB?huatuo革命Unity热更新

最近huatuo(华佗)热更新解决方案火爆了unity开发圈,起初我觉得热更新嘛,不就是内置一个脚本解释器+脚本语言开发,如xLua,ILRuntime,puerts。Huatuo又能玩出什么花样,凭什么会这么NB,引起了那么多程序员的关注与称赞呢?带着这些问题我详细的看了huatuo的资料,阅读了示例项目+huatuo源码,我也瞬间成了一位”佗粉”。接下来更新一系列的文字教程+视频教程来详细的讲解huatuo热更新。对啦!这里有个游戏开发交流小组里面聚集了一帮热爱学习游戏的零基础小白,也有一些正在从事游戏开发的技术大佬,欢迎你来交流学习。il2cpp是什么?AOT是什么?在说il2cpp之前

PHP Imap : Threaded Email Conversations

这个问题在这里已经有了答案:PHPcreatingamultidimensionalarrayofmessagethreadsfromamultidimensionalarray(IMAP)(4个答案)关闭9年前。我是PHP中IMAP函数的新手,我的任务是构建一些票务网站。我得到了基本的电子邮件获取部分,但我有点偶然发现了“线程对话View”障碍。我需要能够在线程对话View中显示电子邮件(发送和接收),就像智能​​手机的SMS工具一样。我发现的大多数算法都只处理线程收件箱,不包括已发送的项目。如果您能帮我解决这个问题,那就太好了。最初,我的最终目标结果是按主题分组的“未读”邮件数组,

PHP pthreads : Difference between Threaded and Stackable

我对这两个类之间的区别感到困惑Threaded和Stackable在pthreadsPHP扩展。PHP手册页没有提到Stackable,但它存在并且许多关于pthreads的文本都提到了这个类;例如:RecyclingContextsMulti-ThreadinginPHPwithpthreadsEasypthreadsPools调用get_class_methods()显示这两个类实现相同的方法和get_parent_class()两者都返回FALSE。目前我假设Stackable是Threaded的别名。对吗? 最佳答案 $st

php - Thread对象和Worker对象有什么区别(php pthreads)

到目前为止我找到的唯一解释是:http://pthreads.org但这在代码方面意味着什么?什么时候应该使用Worker(s),什么时候应该使用线程?谢谢! 最佳答案 它们都是线程,但是,线程旨在执行一个任务(在其运行方法中定义)然后退出。Worker旨在等待任务,以Stackable派生对象的形式实现它们自己的运行方法,并按照插入的顺序从堆栈中执行它们。通过这种方式,Worker允许您重用上下文,它们提供了一种在用户空间中很难编程的高效方法,但并非不可能。 关于php-Thread对

java - Thread 上的 eetop 字段是做什么用的?

我找不到文档,只有thefollowingdiscussion这不是很清楚它的用途。 最佳答案 Note:JDK1.1andbeforehadaprivateInfo_offsetfieldwhichwasusedfortheplatformthreadstructure,andaeetopoffsetwhichwasusedforthreadlocalstorage(andunusedbytheHotSpotVM).InJDK1.2thetwostructuresmerged,sointheHotSpotVMwejustuseth