问题列表 - 第23333页

与外部同步在同一对象上的内部同步

最近我参加了一些关于一些设计模式的讲座:

显示以下代码:

public static Singleton getInstance()
{
  if (instance == null)
  {
    synchronized(Singleton.class) {      //1
      Singleton inst = instance;         //2
      if (inst == null)
      {
        synchronized(Singleton.class) {  //3
          inst = new Singleton();        //4
        }
        instance = inst;                 //5
      }
    }
  }
  return instance;
}
Run Code Online (Sandbox Code Playgroud)

取自:双重检查锁定:取两个

我的问题与上面提到的模式无关,但是与synchronized块有关:

对于同步操作是否在同一个对象上进行的事实,在第1行和第3行中完成的双重同步是否有任何好处?

java multithreading synchronization

6
推荐指数
1
解决办法
1873
查看次数

Cocoa:NSApp beginSheet设置应用程序委托?

我试图在我的应用程序中显示自定义工作表,但我认为我做错了什么.虽然一切似乎都很好,但我有一个相当奇怪的副作用.(花了几个小时才算出来).事实证明,每当我在我的应用程序中显示一个工作表时,Application委托就会被设置为工作表的实例,因此我的Controller将被取消设置为委托导致各种问题.

我创建了一个名为FailureSheet.xib的NIB文件.我在IB中布置了我的接口,然后创建了一个名为'FailureSheet.m'的'NSWindowController'的子类,我将其设置为File的Owner.这是我的FailureSheet类:

#import "FailureSheet.h"

@implementation FailureSheet  // extends NSWindowController

- (id)init
{
    if (self = [super initWithWindowNibName:@"FailureSheet" owner:self])
    {

    }
    return self;
}

- (void)dealloc
{
    [super dealloc];
}

- (IBAction)closeSheetTryAgain:(id)sender
{   
    [NSApp endSheet:[self window] returnCode:1];
    [[self window] orderOut:nil];
}

- (IBAction)closeSheetCancel:(id)sender
{
    [NSApp endSheet:[self window] returnCode:0];
    [[self window] orderOut:nil];
}

- (IBAction)closeSheetCancelAll:(id)sender
{
    [NSApp endSheet:[self window] returnCode:-1];
    [[self window] orderOut:nil];
}

@end
Run Code Online (Sandbox Code Playgroud)

这里没有什么复杂的事情发生.现在这就是我在'Controller'类中显示FailureSheet的方法:

sheet = [[FailureSheet alloc] init];

[NSApp beginSheet:[sheet window]
   modalForWindow:window
    modalDelegate:self
   didEndSelector:@selector(failureSheetDidEnd:etc:etc:)
      contextInfo:nil]; …
Run Code Online (Sandbox Code Playgroud)

cocoa delegates nsapplication cocoa-sheet

2
推荐指数
1
解决办法
2434
查看次数

来自C的R - 最简单的可能的Helloworld

什么是最简单的C函数,用于启动R解释器,传入一个小表达式(例如,2 + 2),并得出结果?我正在尝试使用Windows上的MingW进行编译.

c windows r

19
推荐指数
3
解决办法
1万
查看次数

同步线程 - 没有UI

我正在尝试编写多线程代码并面临一些同步问题.我知道这里有很多帖子,但我找不到合适的东西.

我有一个System.Timers.Timer每30秒经过一次,它进入数据库并检查是否有任何新的工作.如果他找到了一个,他就会在当前线程上执行该作业(计时器为每个经过的时间打开新线程).当作业正在运行时,我需要通知主线程(定时器所在的位置)有关进度的信息.

笔记:

  1. 我没有UI,所以我不能beginInvoke像通常在winforms中那样做(或使用后台线程).
  2. 我想在我的主课上实现ISynchronizeInvoke,但看起来有点矫枉过正(也许我在这里错了).
  3. 我的工作类中有一个事件,主类注册它,我会在需要时调用事件,但我担心它可能会导致阻塞.
  4. 每项工作最多可能需要20分钟.
  5. 我可以同时运行多达20个作业.

我的问题是:

什么是通知我的主线程有关我的工作线程中的任何进展的正确方法?

谢谢你的帮助.

c# multithreading synchronization

6
推荐指数
1
解决办法
932
查看次数

在脚本加载上运行javascript函数

我正在使用jQuery.我将所有函数定义都包含在application.js中的$(document).ready事件中.我有一个函数,我想在我正在处理的页面正文中的某个地方调用.

我想知道是否有一些替代.ready事件可以在脚本加载.理想情况下,我想做类似的事情:$('application.js').ready(call function);

在jQuery文档中,它只提到了$(document).ready调用,但我想知道是否可以更改它,或者是否有一些简单的javascript替代方案.

javascript jquery pageload

3
推荐指数
1
解决办法
6218
查看次数

NUnit GUI Runner和Apartment State

如何在NUnit GUI运行器中设置单元状态?我正在尝试使用WatiN运行单个NUnit测试,我收到消息:

MyNamespace.LoginTests.CanLogin:
System.Threading.ThreadStateException:CurrentThread需要将它的ApartmentState设置为ApartmentState.STA才能自动化Internet Explorer.

.net testing nunit watin apartment-state

10
推荐指数
2
解决办法
3278
查看次数

为什么我将'float**'转换为'const float**'时出错?

我有一个函数float**作为参数接收,我试图改变它采取const float**.

编译器(g++)不喜欢它并发出:

invalid conversion from ‘float**’ to ‘const float**’

这对我没有意义,我知道(并且已经验证)我可以传递char*给一个需要的函数,const char*为什么不用const float**

c++ const-correctness

29
推荐指数
4
解决办法
1万
查看次数

jQuery监听器不会"监听"动态创建的DOM元素上的事件

我有一个这样的听众:

$('.delete').click(function() {
  ...some stuff
});
Run Code Online (Sandbox Code Playgroud)

此外,在同一页面上,另一个脚本以这种方式动态地向DOM添加元素:

$('#list').append('<tr><td><a class="delete" href="#">delete</a></td></tr>');
Run Code Online (Sandbox Code Playgroud)

我的问题是监听器不"监听"这些动态创建的元素.

请问有人可以解决一些问题吗?

jquery events dom click listener

6
推荐指数
1
解决办法
5763
查看次数

Rails:使用to_param为SEO友好的slu搞搞乱数据库调用?

所以在我的Rails模型中,我正在做以下生成"SEO友好"的slug:

def to_param
  "#{id}-#{title.parameterize}"
end
Run Code Online (Sandbox Code Playgroud)

这样就产生了类似的东西: example.com/items/1-example-title

但是当我检查我的日志时,SQL调用就是:

SELECT * FROM `items` WHERE (`items`.`id` = '1-example-title') LIMIT 1
Run Code Online (Sandbox Code Playgroud)

这似乎适用于MySQL,但PostgreSQL对它进行了翻转.

那么,我怎样才能让我的SQL查询只1用于id代替完整的slug?

sql ruby-on-rails

3
推荐指数
1
解决办法
570
查看次数

jquery完整的日历

我所拥有的是一个带有12个标签的标签页(每个标签是一年中的一个月).我需要的是当我加载jquery日历,foreach选项卡,日历切换到分配的月份.(例如,当我点击并加载1月的页面时,日历显示1月的日期,依此类推).

javascript jquery jquery-ui fullcalendar

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