c# - 在 C# 中运行线程

标签 c# multithreading

这是在c#中运行线程的代码

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System;
using System.Threading;

namespace create_thread
{
       class Program
    {
         public  delegate void ThreadStart();

        static void Main(string[] args)
        {
            Thread t=new Thread(new ThreadStart(Go));
            t.Start();
            Go();


        }
        static void Go()
        {
            Console.WriteLine("hello");

        }
    }
}

但是这里有错误

------ 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 ==========

请帮忙

最佳答案

这里的问题是您正在隐藏 Thread 构造函数使用的现有类型。

public  delegate void ThreadStart(); 

这会导致您的代码绑定(bind)到您的 ThreadStart 而不是 System.Threading 命名空间中的版本,从而导致复制错误。删除此定义。

关于c# - 在 C# 中运行线程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4017626/

相关文章:

c# - 奇怪的委托(delegate)引用行为

c# - Entity Framework 代码第一个链接表中违反 PRIMARY KEY 约束

C# - 逐字符读取外部 CSV 文件

python - 为什么 multiprocessing.Lock() 不锁定 Python 中的共享资源?

c# - Visual Studio OData "Add Service Reference"代码生成失败

c# - 如何遍历某些 Outlook 子文件夹的所有 MailItems

c - 无法杀死在 NVIDIA GPU 上运行的坏内核

java - Java 线程什么时候处于 Activity 状态?

java - 监听SQS队列时org.springframework.core.task.TaskRejectedException?

java - 具有多个 JSON 对象的 Fullcalendar 一个 feed