thread-synchronization

    0热度

    1回答

    我已经阅读了很多关于缓存和线程同步的SO和其他站点,但我仍然无法得到我的问题的答案。 .NET Thread Safety for Static Dictionary Cache How does lock work exactly? Why are locks performed on separate objects? http://msdn.microsoft.com/en-us/magaz

    0热度

    1回答

    对不起标题的第4必须跑,我找不到更好的解释我的问题... 我有一个艰难的时间,试图在我的应用程序中同步不同的线程。对于在这个问题上有新面貌的人来说,这可能是一个简单的问题,但经过几个小时的关于僵局的调查之后,我的头部正在爆炸,而且我找不到一个安全可靠的写同步机制的方法:( 基本上,我有一个在多线程运行的.NET程序(在一个单一的过程中的一切,所以无需IPC)我有4个线程。 1线,说它被称为Spec

    0热度

    1回答

    我想仅与WINAPI调用同步线程,但我没有成功。 只要我的WNDPROC收到消息,情况就是LOG日志和日期活动。 问题是我的WNDPROC需要写入日志,因为写入文件需要时间,所以它会失控。我试图在WNDPROC开始时立即进入关键部分,并在写入日志完成后立即离开关键部分,但没有运气。如何让他们相互等待?

    1热度

    1回答

    我正在用C编写一个程序。为了简单起见说:有很多变量,许多线程都可以读取和写入。每次写入它们时,都会通过原子交换(GCC原子操作,同步和交换)进行写入。每次读取其中一个变量时,是否需要使用原子加载?还是原子写入足以避免在数据写入过程中读取数据? 注意,任何地方,需要从这些瓦尔第一张价值的一个使用数据: int success = 0; while (!success) { int x =

    2热度

    2回答

    我需要同步的方法调用,使线程可以500ms的睡眠之后,调用此方法的线程调用。我有10个线程可能同时运行,因此只需简单介绍Thread.Sleep(500)就没有帮助。我怎样才能以最简单的方式实现这一目标?你有什么建议? _pool = new Semaphore(0, 10); _pool.Release(10); ... pool.WaitOne(); Thread thr = new

    1热度

    1回答

    考虑下面的线程函数: UINT MyClass::threadFunc(LPVOID lParam) { // 1. Initialize stuff // 2. Validate stuff // 3. Do first task // 4. Do second task // 5. Un-initialize everything and r

    0热度

    3回答

    我有几个功能必须同步实施3秒。我使用soundpool,振动模式和背景动画播放声音。他们三人都分开工作。但我无法正确计时,以便一起开始。 这3个函数需要每15秒重复调用一次。并会在点击按钮时停止。我试着用这样的东西,但它不能正常工作。 myThread = new Thread(new Runnable(){ @Override public void run() {

    0热度

    1回答

    我正在尝试多线程同步。对于一个背景,我有一套约100000个对象 - 可能更多 - 我想以不同的方式每秒处理多次。 现在我最关心的是同步的性能。 这是我认为应该工作得很好(我省略了所有的安全方面,因为这只是一个测试程序,如果出现错误,程序将会崩溃..)。我写了两个funktions,第一个由程序的主线程执行,第二个由所有其他线程运行。 void SharedWorker::Start() {

    0热度

    1回答

    我在获取此代码块的工作时遇到问题(对于长度感到抱歉)。该代码被消毒以显示相关部分来诊断问题。 从控制台应用程序运行时,它工作正常。 但是,当从ASP.NET应用程序调用Utlities.SendBulkEmail时,BulkEmailCompleted例程永远不会触发,正是这个例程增加了m_CompletedWorkers计数器。 如何重构SendBulkEmail例程以使用AsyncOperat

    0热度

    6回答

    我可以问我解释Java中的线程和同步的工作原理吗? 我想编写一个高性能的应用程序。在这个应用程序中,我从文件中读取数据到一些嵌套的类中,这些类基本上是HashMap周围的坚果壳。 数据读取完成后,我启动需要通过数据并执行不同检查的线程。但是,线程永远不会改变数据! 如果我可以保证(或至少试着保证;)我的线程永不改变数据,我可以使用它们调用包含数据的对象的非同步方法吗? 如果多个线程访问非同步方法,