org.jruby.Ruby.getDefaultThreadGroup()方法的使用及代码示例

x33g5p2x  于2022-01-29 转载在 其他  
字(6.6k)|赞(0)|评价(0)|浏览(97)

本文整理了Java中org.jruby.Ruby.getDefaultThreadGroup方法的一些代码示例,展示了Ruby.getDefaultThreadGroup的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Ruby.getDefaultThreadGroup方法的具体详情如下:
包路径:org.jruby.Ruby
类名称:Ruby
方法名:getDefaultThreadGroup

Ruby.getDefaultThreadGroup介绍

暂无

代码示例

代码示例来源:origin: com.ning.billing/killbill-osgi-bundles-jruby

private void addToCorrectThreadGroup(ThreadContext context) {
  // JRUBY-3568, inherit threadgroup or use default
  IRubyObject group = context.getThread().group();
  if (!group.isNil()) {
    ((RubyThreadGroup) group).addDirectly(this);
  } else {
    context.runtime.getDefaultThreadGroup().addDirectly(this);
  }
}

代码示例来源:origin: org.jruby/jruby-complete

private void addToCorrectThreadGroup(ThreadContext context) {
  // JRUBY-3568, inherit threadgroup or use default
  IRubyObject group = context.getThread().group();
  if (!group.isNil()) {
    ((RubyThreadGroup) group).addDirectly(this);
  } else {
    context.runtime.getDefaultThreadGroup().addDirectly(this);
  }
}

代码示例来源:origin: org.jruby/jruby-core

private void addToCorrectThreadGroup(ThreadContext context) {
  // JRUBY-3568, inherit threadgroup or use default
  IRubyObject group = context.getThread().group();
  if (!group.isNil()) {
    ((RubyThreadGroup) group).addDirectly(this);
  } else {
    context.runtime.getDefaultThreadGroup().addDirectly(this);
  }
}

代码示例来源:origin: org.kill-bill.billing/killbill-osgi-bundles-jruby

private void addToCorrectThreadGroup(ThreadContext context) {
  // JRUBY-3568, inherit threadgroup or use default
  IRubyObject group = context.getThread().group();
  if (!group.isNil()) {
    ((RubyThreadGroup) group).addDirectly(this);
  } else {
    context.runtime.getDefaultThreadGroup().addDirectly(this);
  }
}

代码示例来源:origin: org.jruby/jruby-complete

private static RubyThread adoptThread(final Ruby runtime, final ThreadService service,
                   final RubyClass recv, final Thread thread) {
  final RubyThread rubyThread = new RubyThread(runtime, recv);
  rubyThread.threadImpl = new NativeThread(rubyThread, thread);
  ThreadContext context = service.registerNewThread(rubyThread);
  service.associateThread(thread, rubyThread);
  context.preAdoptThread();
  // set to default thread group
  runtime.getDefaultThreadGroup().addDirectly(rubyThread);
  return rubyThread;
}

代码示例来源:origin: org.jruby/jruby-core

private static RubyThread adoptThread(final Ruby runtime, final ThreadService service,
                   final RubyClass recv, final Thread thread) {
  final RubyThread rubyThread = new RubyThread(runtime, recv);
  rubyThread.threadImpl = new NativeThread(rubyThread, thread);
  ThreadContext context = service.registerNewThread(rubyThread);
  service.associateThread(thread, rubyThread);
  context.preAdoptThread();
  // set to default thread group
  runtime.getDefaultThreadGroup().addDirectly(rubyThread);
  return rubyThread;
}

代码示例来源:origin: com.ning.billing/killbill-osgi-bundles-jruby

private static RubyThread adoptThread(final IRubyObject recv, Thread t, Block block) {
  final Ruby runtime = recv.getRuntime();
  final RubyThread rubyThread = new RubyThread(runtime, (RubyClass) recv);
  
  rubyThread.threadImpl = new NativeThread(rubyThread, t);
  ThreadContext context = runtime.getThreadService().registerNewThread(rubyThread);
  runtime.getThreadService().associateThread(t, rubyThread);
  
  context.preAdoptThread();
  
  // set to default thread group
  runtime.getDefaultThreadGroup().addDirectly(rubyThread);
  
  return rubyThread;
}

代码示例来源:origin: org.kill-bill.billing/killbill-osgi-bundles-jruby

private static RubyThread adoptThread(final IRubyObject recv, Thread t, Block block) {
  final Ruby runtime = recv.getRuntime();
  final RubyThread rubyThread = new RubyThread(runtime, (RubyClass) recv);
  
  rubyThread.threadImpl = new NativeThread(rubyThread, t);
  ThreadContext context = runtime.getThreadService().registerNewThread(rubyThread);
  runtime.getThreadService().associateThread(t, rubyThread);
  
  context.preAdoptThread();
  
  // set to default thread group
  runtime.getDefaultThreadGroup().addDirectly(rubyThread);
  
  return rubyThread;
}

代码示例来源:origin: org.jruby/jruby-core

public static RubyClass createThreadClass(Ruby runtime) {
  // FIXME: In order for Thread to play well with the standard 'new' behavior,
  // it must provide an allocator that can create empty object instances which
  // initialize then fills with appropriate data.
  RubyClass threadClass = runtime.defineClass("Thread", runtime.getObject(), ObjectAllocator.NOT_ALLOCATABLE_ALLOCATOR);
  runtime.setThread(threadClass);
  threadClass.setClassIndex(ClassIndex.THREAD);
  threadClass.setReifiedClass(RubyThread.class);
  threadClass.defineAnnotatedMethods(RubyThread.class);
  RubyThread rubyThread = new RubyThread(runtime, threadClass);
  // TODO: need to isolate the "current" thread from class creation
  rubyThread.threadImpl = new NativeThread(rubyThread, Thread.currentThread());
  runtime.getThreadService().setMainThread(Thread.currentThread(), rubyThread);
  // set to default thread group
  runtime.getDefaultThreadGroup().addDirectly(rubyThread);
  threadClass.setMarshal(ObjectMarshal.NOT_MARSHALABLE_MARSHAL);
  // set up Thread::Backtrace::Location class
  RubyClass backtrace = threadClass.defineClassUnder("Backtrace", runtime.getObject(), ObjectAllocator.NOT_ALLOCATABLE_ALLOCATOR);
  RubyClass location = backtrace.defineClassUnder("Location", runtime.getObject(), ObjectAllocator.NOT_ALLOCATABLE_ALLOCATOR);
  location.defineAnnotatedMethods(Location.class);
  runtime.setLocation(location);
  return threadClass;
}

代码示例来源:origin: org.jruby/jruby-complete

public static RubyClass createThreadClass(Ruby runtime) {
  // FIXME: In order for Thread to play well with the standard 'new' behavior,
  // it must provide an allocator that can create empty object instances which
  // initialize then fills with appropriate data.
  RubyClass threadClass = runtime.defineClass("Thread", runtime.getObject(), ObjectAllocator.NOT_ALLOCATABLE_ALLOCATOR);
  runtime.setThread(threadClass);
  threadClass.setClassIndex(ClassIndex.THREAD);
  threadClass.setReifiedClass(RubyThread.class);
  threadClass.defineAnnotatedMethods(RubyThread.class);
  RubyThread rubyThread = new RubyThread(runtime, threadClass);
  // TODO: need to isolate the "current" thread from class creation
  rubyThread.threadImpl = new NativeThread(rubyThread, Thread.currentThread());
  runtime.getThreadService().setMainThread(Thread.currentThread(), rubyThread);
  // set to default thread group
  runtime.getDefaultThreadGroup().addDirectly(rubyThread);
  threadClass.setMarshal(ObjectMarshal.NOT_MARSHALABLE_MARSHAL);
  // set up Thread::Backtrace::Location class
  RubyClass backtrace = threadClass.defineClassUnder("Backtrace", runtime.getObject(), ObjectAllocator.NOT_ALLOCATABLE_ALLOCATOR);
  RubyClass location = backtrace.defineClassUnder("Location", runtime.getObject(), ObjectAllocator.NOT_ALLOCATABLE_ALLOCATOR);
  location.defineAnnotatedMethods(Location.class);
  runtime.setLocation(location);
  return threadClass;
}

代码示例来源:origin: com.ning.billing/killbill-osgi-bundles-jruby

runtime.getDefaultThreadGroup().addDirectly(rubyThread);

代码示例来源:origin: org.kill-bill.billing/killbill-osgi-bundles-jruby

runtime.getDefaultThreadGroup().addDirectly(rubyThread);

相关文章

微信公众号

最新文章

更多

Ruby类方法