C# 在c中运行线程#
下面是在c中运行线程的代码# 但这里有一些错误C# 在c中运行线程#,c#,multithreading,C#,Multithreading,下面是在c中运行线程的代码# 但这里有一些错误 ------ Build started: Project: create_thread, Configuration: Debug x86 ------ c:\users\7\documents\visual studio 2010\Projects\create_thread\create_thread\Program.cs(5,7): warning CS0105: The using directive for 'System' appea
------ Build started: Project: create_thread, Configuration: Debug x86 ------
c:\users\7\documents\visual studio 2010\Projects\create_thread\create_thread\Program.cs(5,7): warning CS0105: The using directive for 'System' appeared previously in this namespace
c:\users\7\documents\visual studio 2010\Projects\create_thread\create_thread\Program.cs(17,22): error CS1502: The best overloaded method match for 'System.Threading.Thread.Thread(System.Threading.ThreadStart)' has some invalid arguments
c:\users\7\documents\visual studio 2010\Projects\create_thread\create_thread\Program.cs(17,33): error CS1503: Argument 1: cannot convert from 'create_thread.Program.ThreadStart' to 'System.Threading.ThreadStart'
Compile complete -- 2 errors, 1 warnings
Build started 10/25/2010 10:25:40 PM.
ResolveAssemblyReferences:
A TargetFramework profile exclusion list will be generated.
GenerateTargetFrameworkMonikerAttribute:
Skipping target "GenerateTargetFrameworkMonikerAttribute" because all output files are up-to-date with respect to the input files.
CoreCompile:
C:\Windows\Microsoft.NET\Framework\v4.0.30319\Csc.exe /noconfig /nowarn:1701,1702 /nostdlib+ /platform:x86 /errorreport:prompt /warn:4 /define:DEBUG;TRACE /reference:"C:\Program Files\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.0\Profile\Client\Microsoft.CSharp.dll" /reference:"C:\Program Files\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.0\Profile\Client\mscorlib.dll" /reference:"C:\Program Files\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.0\Profile\Client\System.Core.dll" /reference:"C:\Program Files\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.0\Profile\Client\System.Data.DataSetExtensions.dll" /reference:"C:\Program Files\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.0\Profile\Client\System.Data.dll" /reference:"C:\Program Files\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.0\Profile\Client\System.dll" /reference:"C:\Program Files\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.0\Profile\Client\System.Xml.dll" /reference:"C:\Program Files\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.0\Profile\Client\System.Xml.Linq.dll" /debug+ /debug:full /filealign:512 /optimize- /out:obj\x86\Debug\create_thread.exe /target:exe Program.cs Properties\AssemblyInfo.cs "C:\Users\7\AppData\Local\Temp\.NETFramework,Version=v4.0,Profile=Client.AssemblyAttributes.cs"
Build FAILED.
Time Elapsed 00:00:00.30
========== Build: 0 succeeded or up-to-date, 1 failed, 0 skipped ==========
请帮助不知道目的是什么,但请尝试删除该行:
公共委托void
ThreadStart()代码>这里的问题是您正在跟踪线程所使用的现有类型
public delegate void ThreadStart();
这会导致代码绑定到ThreadStart
,而不是System.Threading
命名空间中的版本,从而导致复制错误。删除此定义 摆脱ThreadStart
委托的声明。使用系统
语句时,您还有一个过多的:
using System;
using System.Threading;
namespace create_thread
{
class Program
{
static void Main(string[] args)
{
Thread t = new Thread(new ThreadStart(Go));
t.Start();
Go();
}
static void Go()
{
Console.WriteLine("hello");
}
}
}
您还应该知道,您的代码将运行Go方法两次—一次在主线程上,一次在后台线程上—因此您将在控制台中看到“hello”两次
并删除您的委托ThreadStart问题是您声明了自己的ThreadStart
委托,而不是使用.NET one。修复错误后,删除您自己的ThreadStart委托定义,并使用签名正确的.NET Framework版本首先修复生成错误。你没有运行你认为你的代码。使用系统删除额外的代码>语句,然后查看您从何处获得…,并摆脱ThreadStart()委托。
using System;
using System.Threading;
namespace create_thread
{
class Program
{
static void Main(string[] args)
{
Thread t = new Thread(new ThreadStart(Go));
t.Start();
Go();
}
static void Go()
{
Console.WriteLine("hello");
}
}
}