マルチスレッド実行のテスト

IronPythonでのマルチスレッド実行方法をテストする。GUI画面を起動するときのイベントループを別スレッドで実行するには、どうすればよいか?テストコードを以下のように書く。2つの画面を立ち上げただけだが...。

Single Threaded Apartment (STA) threadというので動かす。現時点ではこれ以上わからず。引き続き調査する。

import clr
clr.AddReference('System.Windows.Forms')
from System.Windows.Forms import Application, Form
from System.Threading import (
        ApartmentState,
        Thread, ThreadStart
        )

def StartEventLoop():
    f = Form()
    f.Text = 'A Windows Forms Form'
    f.Show()
    Application.Run(f)

def StartEventLoop2():
    f = Form()
    f.Text = 'A Windows Forms Form2'
    f.Show()
    Application.Run(f)

thread = Thread(ThreadStart(StartEventLoop))
thread.SetApartmentState(ApartmentState.STA)
thread.Start()

StartEventLoop2()