Điểm khác nhau giữa console application & WPF, Winform application

xin chào các bạn trong forum, mình đang bắt đầu làm việc với .Net. Hôm nay mình gặp một vấn đề về cách hoạt động của 2 loại ứng dụng trong .net là console app và wpf app, winform app.

mình có đoạn code sau, gọi đến unmanage code, viết trong hàm main của console app:

var javaAccessBridge = Jab.Instance;
javaAccessBridge.Init();
// launching a java appication
using (JavaApplication j = new JavaApplication())
   {
      var applicationContext = new JavaApplicationContext()
        {
           ExecutableFile = @"c:/Dev/sq.jar"
        };
      j.Launch(applicationContext);
   }
//enumrable jvm instance
 javaAccessBridge.Enumjvms().Count; // return 0,not found any jvm instance.

và đoạn code tương tự ở trong 1 ứng dụng wpf.

public MainWindow()
  {
    InitializeComponent();
    javaAccessBridge = Jab.Instance;
    javaAccessBridge.Init();
  };
private void Find_Click(object sender, RoutedEventArgs e)
 {
    using (JavaApplication app = new JavaApplication())
      {
          JavaApplicationContext context = new JavaApplicationContext()
            {
                 ExecutableFile = @"c:\Dev\sq.jar"
             };

           app.Launch(context);
       }
    // Count is 1, found 1 jvm instance.
     List<AccessibleJvm> jvms = javaAccessBridge.EnumJvms();
  }

Ban đầu mình nghĩ trong wpf việc khởi tạo javaAccessBridge đc tách biệt riêng ở MainWindow, có thể nó chạy 1 Thread, còn việc launch java app, và enumrable jvm ở một thread khác nên việc enumrable thành công.
mình cũng đã thử với console app, cho 2 đoạn này chạy ở 2 thread khác nhau, nhưng ko được.
Có phải là do ứng dụng WPF, WF có cơ chế hoạt động khác với Console application ko các bạn?

83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?