标签: monitor

223
推荐指数
5
解决办法
11万
查看次数

什么是Java中的监视器?

什么是Java中并发编程中引用的监视器?

当我读到"每个对象都有一个监视器"这是什么意思?

这是一个特殊的对象吗?

java concurrency multithreading monitor

115
推荐指数
5
解决办法
7万
查看次数

如何在linux上监控进程的线程数?

我想监视Linux上特定进程使用的线程数.有没有一种简单的方法来获取这些信息而不影响流程的性能?

linux multithreading monitor

114
推荐指数
10
解决办法
22万
查看次数

监视与锁定

何时在C#中使用Monitor类或lock关键字来确保线程安全?

编辑: 到目前为止,答案似乎lock是对Monitor课程的一系列调用的简写.锁定电话到底是什么?或者更明确地说,

class LockVsMonitor
{
    private readonly object LockObject = new object();
    public void DoThreadSafeSomethingWithLock(Action action)
    {
        lock (LockObject)
        {
            action.Invoke();
        }
    }
    public void DoThreadSafeSomethingWithMonitor(Action action)
    {
        // What goes here ?
    }
}
Run Code Online (Sandbox Code Playgroud)

更新

谢谢大家的帮助:我发布了另一个问题,作为您提供的一些信息的后续跟进.由于您似乎精通这一领域,我发布了链接:此锁定和管理锁定异常的解决方案有什么问题?

.net c# multithreading locking monitor

83
推荐指数
5
解决办法
9万
查看次数

Java中对象监视器的含义是什么?为什么用这个词?

在阅读有关Java线程的文章时,我经常注意到这样的表达:"当前线程是该对象监视器的所有者".我明白了:线程有权对对象进行操作.但我很困惑为什么我们使用短语"对象的监视器"而不是"对象的锁"?

简而言之,我不知道"监视器"这个词的含义.这个问题可能很奇怪而且很简单.但我希望任何人都可以帮助解决它.3KS

java multithreading monitor

79
推荐指数
5
解决办法
3万
查看次数

当另一个线程可以设置它时(最多一次),是否可以读取共享布尔标志而不锁定它?

我希望我的线程更优雅地关闭,所以我试图实现一个简单的信令机制.我不认为我想要一个完全事件驱动的线程,所以我有一个工人用一个方法来使用一个关键部分Monitor(相当于一个C#lock我相信)来优雅地停止它:

DrawingThread.h

class DrawingThread {
    bool stopRequested;
    Runtime::Monitor CSMonitor;
    CPInfo *pPInfo;
    //More..
}
Run Code Online (Sandbox Code Playgroud)

DrawingThread.cpp

void DrawingThread::Run() {
    if (!stopRequested)
        //Time consuming call#1
    if (!stopRequested) {
        CSMonitor.Enter();
        pPInfo = new CPInfo(/**/);
        //Not time consuming but pPInfo must either be null or constructed. 
        CSMonitor.Exit();
    }
    if (!stopRequested) {
        pPInfo->foobar(/**/);//Time consuming and can be signalled
    }
    if (!stopRequested) {
        //One more optional but time consuming call.
    }
}


void DrawingThread::RequestStop() {
    CSMonitor.Enter();
    stopRequested = true;
    if (pPInfo) pPInfo->RequestStop();
    CSMonitor.Exit(); …
Run Code Online (Sandbox Code Playgroud)

c++ multithreading boolean locking monitor

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

谁能解释线程监视器并等待?

工作中的某个人刚刚询问了必须在同步中包装等待的原因.

老实说,我看不出推理.我理解javadocs所说的 - 线程需要成为对象监视器的所有者,但为什么呢?它会阻止哪些问题?(如果它确实是必要的,为什么等待方法不能获得监视器本身?)

我正在寻找一个相当深入的原因,或者可能是对文章的引用.我在快速谷歌中找不到一个.

哦,还有,thread.sleep如何比较?

编辑:很好的答案 - 我真的希望我可以选择不止一个,因为他们都帮助我理解发生了什么.

java multithreading monitor

40
推荐指数
4
解决办法
2万
查看次数

有光泽或无光泽的LCD屏幕是否适合长时间编码?

我正在寻找新的液晶显示器,但我担心光滑的显示器可能会在一整天的工作后造成更多的眼睛疲劳.我通常会在显示器前花很多时间,所以眼睛疲劳肯定是我想到的.您更喜欢哑光或有光泽的LCD屏幕吗?为什么?

monitor

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

监视应用程序对DLL的调用

简而言之:我想监视从应用程序到DLL的选定调用.

我们有一个旧的VB6应用程序,我们丢失了源代码(该公司当时没有使用源代码控制..).此应用程序使用第三方DLL.

我想在新的C++应用程序中使用此DLL.不幸的是,DLL API只是部分记录,所以我不知道如何调用某些函数.我有功能签名.

由于VB6应用程序使用此DLL,我想看看它如何调用多个函数.到目前为止,我已经尝试或看过 -

  1. APIHijack - 要求我为每个函数编写C++代码.由于我只需要记录值,这似乎是一种矫枉过正.
  2. EasyHook - 与1相同,但允许用.NET语言编写代码.
  3. 使用uHooker的OllyDbg - 我仍然需要为每个函数编写代码,这次是在Python中.此外,我必须使用该struct模块在Python中进行许多转换,因为大多数函数使用指针传递值.

由于我只需要记录函数参数,我想要一个简单的解决方案.有没有自动化工具,我可以告诉哪些功能要监控和签名,然后获取详细的日志文件?

dll hook monitoring monitor

37
推荐指数
2
解决办法
6万
查看次数

Visual Studio和双/多显示器:如何从显示器中优化使用?

Ultramon是一个很棒的双显示器程序(在显示器上拉伸屏幕),但我想知道在Visual Studio中是否有任何方法可以在一台显示器上打开一个代码选项卡,在第二个显示器上打开第二个代码选项卡监视器只运行一个Visual Studio实例?

或者是否有任何其他建议可以在双显示器和Visual Studio上获得最大的收益?

multiple-monitors monitor visual-studio

36
推荐指数
3
解决办法
6万
查看次数