当前位置: 移动技术网 > IT编程>开发语言>.net > c# 将一个长耗时任务改成task

c# 将一个长耗时任务改成task

2018年12月05日  | 移动技术网IT编程  | 我要评论

北京割双眼皮价格,ineedagirl歌词,until的用法

public task<observablecollection<waterfalldatasource2>> initalrendersourceandbrush2(int width)
        {
            stopwatch w = new stopwatch();
            w.start();
            points3.clear();
            int wavelength = globalstorage.bigwaves.length;
            int allrows = wavelength / width;
            w.stop();
            debug.writeline("w.elapsedmilliseconds:" + w.elapsedmilliseconds);
            debug.writeline("allrows:" + allrows);
            if (allrows > 0)
            {
                parallel.for(0, _pagesize, (lk) =>
                {
                    observablecollection<datapoint3> datapoints = new observablecollection<datapoint3>();
                    for (byte j = 0; j < 150; j++)
                    {
                        for (short i = 0; i < width; i++)
                        {
                            datapoint3 datapoint = new datapoint3() { variablex = i, variabley = j };
                            datapoint.type = getcolorindex2(globalstorage.bigwaves[lk * width + i][j]);
                            datapoints.add(datapoint);
                        }
                    }
                    waterfalldatasource2 waterfalldatasource = new waterfalldatasource2();
                    waterfalldatasource.datapoints = datapoints;
                    waterfalldatasource.brushinfo = brushes;
                    waterfalldatasource.index = lk;
                    waterfalldatasource.width = width;
                    waterfalldatasource.starttime = beatwavedataconversionextension.wavedottodatetime(beatinfocache.beatinfos.elementat(lk * width).r).tostring();
                    points3.add(waterfalldatasource);
                });
                return task.fromresult<observablecollection<waterfalldatasource2>>(points3.orderby(p => p.index).toobservablecollection<waterfalldatasource2>());
            }
            else
            {
                observablecollection<datapoint3> datapoints = new observablecollection<datapoint3>();
                waterfalldatasource2 waterfalldatasource = new waterfalldatasource2();
                for (byte j = 0; j < 150; j++)
                {
                    for (short i = 0; i < wavelength; i++)
                    {
                        short value = globalstorage.bigwaves[i][j];
                        datapoint3 datapoint = new datapoint3() { variablex = i, variabley = j };
                        datapoint.type = getcolorindex2(value);
                        datapoints.add(datapoint);
                    }
                }
                waterfalldatasource.datapoints = datapoints;
                waterfalldatasource.brushinfo = brushes;
                waterfalldatasource.index = 0;
                waterfalldatasource.width = width;
                points3.add(waterfalldatasource);
                return task.fromresult<observablecollection<waterfalldatasource2>>(points3);
            }
        }

调用 

 var reuslt = await _sttrendcontroller.initalrendersourceandbrush2((int)firstrowgrid.actualwidth - 27);

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网