これが私が得ているエラーです:
タイプ 'System.Threading.ThreadStateException' の例外が System.Windows.Forms.dll で発生しましたが、ユーザー コードで処理されませんでした
追加情報: OLE 呼び出しを行う前に、現在のスレッドをシングル スレッド アパートメント (STA) モードに設定する必要があります。Main 関数に STAThreadAttribute がマークされていることを確認します。
内のクリップボードに値を割り当てようとしていますTask。コードを実行すると、上記のエラーが発生します。
クリップボードのコードは次のとおりです。
static public class ClipBoard
    {
        static private string _data = string.Empty;
        static public Semaphore ClipBoardSemaphore = new Semaphore(1, 1);
        static public void SetData(string data)
        {
            Clipboard.Clear();  //error here
            Clipboard.SetDataObject(data, true);
            _data = data;
        }
        static public string GetData()
        {
            return _data;
        }
    } 
ご覧のとおり、クリップボードがクリアされるとエラーが発生します。Task を呼び出すコードは次のとおりです。
for (int i = 0; i < zom.Count; i++)
{
     Task t = Task.Factory.StartNew(zom[i].Process);
     t.Wait();
}