日期:2014-05-19  浏览次数:20935 次

关于STAThreadAttribute和线程的问题
我想在窗口的子线程里面调用Clipboard类,而Clipboard要求Main方法上有STA单线程的限制,需要加上[STAThreadAttribute],
这是不是意味着,Clipboard类和多线程不能同时用了,如果能应该怎么样实现,在下小白,谢谢.
大致代码:
        static   class   Program
        {
                [STAThreadAttribute]
                static   void   Main()
                {
                       
                        Application.EnableVisualStyles();
                        Application.SetCompatibleTextRenderingDefault(false);
                        Application.Run(new   FormMain());
                }
        }

class   FormMain:Form
{
      private   Thread   workerThread;
      workerThread   =   new   Thread(new   ThreadStart(DoWork));
      private   viod   Start()
      {
            .......
            workerThread.Start();  
      }
      private   void   DoWork()
      {
              ....
              Clipboard.Clear();
              .....
      }
}


------解决方案--------------------
STA: single-threaded apartment , 通常是COM需要的一中线程模式,它的意思不是说整个程序不许用多线程.