c#-二个线程之间的区别,C#

问题描述

二个线程之间的区别,C#
string ticket_list = "1,2,3,11,12";
        string[] sArray = ticket_list.Split(',');
        if (sArray.Length > 0)
        {

                foreach (var i in sArray)
            {
                task = new Task(() =>
                {

                    Task a = Task.Run(() =>
                    {
                        MyMethod(int.Parse(i));
                    });
                });
            }

            task.Start();
        }


string ticket_list = "1,2,3,11,12";
string[] sArray = ticket_list.Split(',');
if (sArray.Length > 0)
{
task = new Task(() =>
{
foreach (var i in sArray)
{

                    Task a = Task.Run(() =>
                    {
                        MyMethod(int.Parse(i));
                    });

这二个线程有什么区别吗,看结果好像差不多。他们各自有什么优缺点

解决方案

在C# 4.0上,前者MyMethod(int.Parse(i));每个i都是12
在C# 5.0上,每个i是数组的某个值。

时间: 2024-08-08 14:42:08

c#-二个线程之间的区别,C#的相关文章

线程休眠之间的区别?

问题描述 publicvoidrun(){while(true){try{longstart=System.currentTimeMillis();repaint();longend=System.currentTimeMillis();if(end-start<SLEEP_TIME){Thread.sleep(SLEEP_TIME-(end-start));}}catch(Exceptione){}}}publicvoidrun(){while(true){try{Thread.current

windows-linux与Windows之间的区别

问题描述 linux与Windows之间的区别 linux与Windows的区别在哪?可以全面的说说吗?最好是列举出来,谢谢! 解决方案 Linux确切地说,是内核,所谓内核,就是操作系统中最最基本的功能,比如操作硬件,调度进程.线程.文件管理.同步等等. 而构成完整操作系统的Linux,则是各自独立的厂商根据需要搭配不同的上层软件得到的完整系统,叫做Linux发行版. 所以不要和Windows比,就是Linux内部,都千差万别.比如桌面的Ubuntu,手机上的Android,你根本都找不到相似

Java servlet、filter、listener、interceptor之间的区别和联系_java

servlet.filter.listener.interceptor之间的区别和联系 一.概念 1.servlet:servlet是一种运行服务器端的java应用程序,具有独立于平台和协议的特性,并且可以动态的生成web页面,它工作在客户端请求与服务器响应的中间层. 2.filter:filter是一个可以复用的代码片段,可以用来转换HTTP请求.响应和头信息.Filter不像Servlet,它不能产生一个请求或者响应,它只是修改对某一资源的请求,或者修改从某一的响应. 3.listener:

iOS 异步网络请求 和 把 同步网络请求放在子线程有什么区别?

问题描述 iOS 异步网络请求 和 把 同步网络请求放在子线程有什么区别? iOS 异步网络请求 和 把 同步网络请求放在子线程有什么区别? 解决方案 那就是异步和同步的问题咯,,异步的话是不会等待请求完成能继续执行下面的程序,,而同步会等待请求的完成,在继续执行下面的 解决方案二: 同步放子线程效果跟异步达到的类似.只是一个是API原生支持,一个是你自己代码来实现 解决方案三: 同步放子线程效果跟异步达到的类似.只是一个是API原生支持,一个是你自己代码来实现 解决方案四: 同步放子线程效果跟

java中线程同步,线程让步,线程休眠的区别和联系是什么

问题描述 java中线程同步,线程让步,线程休眠的区别和联系是什么 java中线程同步,线程让步,线程休眠的区别和联系是什么 线程的本质还是一个运行中的类, 解决方案 线程同步:是保证多线程安全访问竞争资源的一种手段,java中常用的是加锁机制即synchronized同步代码块实现的. 线程让步的方法是yield(),休眠方法是sleep().sleep()方法和yield()方法都是Thread类的静态方法,都会使当前处于运行状态的线程放弃CPU,把运行机会让给别的线程. 两者的区别在于:s

c++中std::cout和printf之间的区别

问题描述 c++中std::cout和printf之间的区别 就是这样的,在一循环体中 for(int i=0; i<len; i++) { cout<<"ms["<<i<<"]="<<ms[i]<<endl; printf("ms[%d]=%d ", i, ms[i]); } 用cout可以遍历数组,而用printf不能? 解决方案 cout与printf的区别cout和prin

c语言-C语言基础 for语句这两者之间的区别

问题描述 C语言基础 for语句这两者之间的区别 include int main() { int a=1, b=3, c=0; for (a ; a < b; a++) c = c + a + a; printf("c的值为:%d", c); getchar(); return 0; } include int main() { int a, b=3, c=0; for (a=1 ; a < b; a++) c = c + a + a; printf("c的值为

深层次探讨mutex与semaphore之间的区别

深层次探讨mutex与semaphore之间的区别 作者 digoal 日期 2016-11-10 标签 mutex , semaphore , Linux , 锁 , 内核 背景 本文依旧和<PostgreSQL 同步流复制锁瓶颈分析>这篇文章有关. 本文主要介绍一下Linux下面信号量(semaphore)和互斥锁(mutex)的区别. 原文地址 http://www.aichengxu.com/view/2456963 原文 看过Linux内核的同学都知道,Linux内核中除了有sema

C# 线程之间的方法调用问题

问题描述 项目中有两A(),B()两个方法,当线程执行A方法时,在A中调用了BprivatevoidA(){doublex,y,z;//接收来自单片机的数据//执行速度非常快...........line.add(x,y);B(x,y,z);}privatevoidB(doublenx,doubleny,double,nz){//处理大量计算数据,延迟较大delay(100000)...........}上述两方法,首先执行A,代码很少,其中主要向tchart中画线,但B中有大量数据处理,比较耗