...
Thread s = new Thread(new ThreadStart(ThreadAddDb("","","")));
s.Start ();
...
private static void ThreadAddDb(string ctype,string path,string name)
{
}
我如上所示写的,但是却提示,应输入方法名称,不知道哪里错了?
Thread s = new Thread(new ThreadStart(ThreadAddDb("","","")));
s.Start ();
...
private static void ThreadAddDb(string ctype,string path,string name)
{
}
我如上所示写的,但是却提示,应输入方法名称,不知道哪里错了?
解决方案 »
- Win7环境下打开OpenFileDialog 失败
- 远程访问数据库
- 如何强制不使用科学计数法.? 如0.00001 不想显示为 1E-5
- 高手请指点,table和gridview之间转换的问题?
- 烦请高手给我将这段C代码转换成C#? 重分相谢啊!
- StreamWriter如何修改已写入的数据?
- 使用C#在wince和windows mobile6.1和WIndows embedded handheld的区别
- 如何改变DataGrid任意一个cell的颜色,第三次提问!!
- 我做了一个控件,但是在写属性时,我遇到点问题,50分求助(在线)
- 我在用visual c# 做动态报表,请熟悉这方面的朋友指点。(高分放送100)
- WinForm中调用水晶报表的问题
- 如何将DataSet里的多张表分别在水晶报表中显示成对应的页?
--------------Thread s = new Thread(new ThreadStart(ThreadAddDb()));
s.Start ();
...
private static void ThreadAddDb()
{
}
为向线程传递数据,需要创建一个用来保持数据和线程方法的对象,如下面的两个代码示例所示。
为检索线程方法的结果,您可以使用回调方法,如第二个代码示例中所示。
[C#]
using System;
using System.Threading;// The ThreadWithState class contains the information needed for
// a task, and the method that executes the task.
//
public class ThreadWithState {
// State information used in the task.
private string boilerplate;
private int value; // The constructor obtains the state information.
public ThreadWithState(string text, int number) {
boilerplate = text;
value = number;
}
// The thread procedure performs the task, such as formatting
// and printing a document.
public void ThreadProc() {
Console.WriteLine(boilerplate, value);
}
}// Entry point for the example.
//
public class Example {
public static void Main() {
// Supply the state information required by the task.
ThreadWithState tws =
new ThreadWithState("This report displays the number {0}.", 42);
// Create a thread to execute the task, and then
// start the thread.
Thread t = new Thread(new ThreadStart(tws.ThreadProc));
t.Start();
Console.WriteLine("Main thread does some work, then waits.");
t.Join();
Console.WriteLine("Independent task has completed; main thread ends.");
}
}
用回调方法检索数据
下面的示例演示了一个从线程中检索数据的回调方法。包含数据和线程方法的类的构造函数也接受代表回调方法的委托;在线程方法结束前,它调用该回调委托。
[C#]
using System;
using System.Threading;// The ThreadWithState class contains the information needed for
// a task, the method that executes the task, and a delegate
// to call when the task is complete.
//
public class ThreadWithState {
// State information used in the task.
private string boilerplate;
private int value;
// Delegate used to execute the callback method when the
// task is complete.
private ExampleCallback callback; // The constructor obtains the state information and the
// callback delegate.
public ThreadWithState(string text, int number,
ExampleCallback callbackDelegate)
{
boilerplate = text;
value = number;
callback = callbackDelegate;
}
// The thread procedure performs the task, such as
// formatting and printing a document, and then invokes
// the callback delegate with the number of lines printed.
public void ThreadProc() {
Console.WriteLine(boilerplate, value);
if (callback != null)
callback(1);
}
}// Delegate that defines the signature for the callback method.
//
public delegate void ExampleCallback(int lineCount);// Entry point for the example.
//
public class Example {
public static void Main() {
// Supply the state information required by the task.
ThreadWithState tws = new ThreadWithState(
"This report displays the number {0}.",
42,
new ExampleCallback(ResultCallback)
); Thread t = new Thread(new ThreadStart(tws.ThreadProc));
t.Start();
Console.WriteLine("Main thread does some work, then waits.");
t.Join();
Console.WriteLine("Independent task has completed; main thread ends.");
} // The callback method must match the signature of the
// callback delegate.
//
public static void ResultCallback(int lineCount) {
Console.WriteLine("Independent task printed {0} lines.", lineCount);
}
}