多线程05-传参

class Program
    {
        static void Main()
        {
            var sample = new ThreadSample(10);
            var threadOne = new Thread(sample.CountNumbers);
            threadOne.Name = "ThreadOne";
            threadOne.Start();
            threadOne.Join();
            Console.WriteLine("end threadOne");

var threadSecond = new Thread(Count);
            threadSecond.Name = "threadSecond";
            threadSecond.Start(10);
            threadSecond.Join();
            Console.WriteLine("end threadSecond");

var threadThree = new Thread(() => CountNumbers(10));
            threadThree.Name = "threadThree";
            threadThree.Start();
            threadThree.Join();
            Console.WriteLine("end  threadThree");
        }
        static void Count(object iterations)
        {
            CountNumbers((int)iterations);
        }
        static void CountNumbers(int iterations)
        {
            for(int i=1;i<iterations;i++)
            {
                Thread.Sleep(TimeSpan.FromSeconds(0.5));
                Console.WriteLine("Thread Name is {0},Prints={1}", Thread.CurrentThread.Name, i);
            }
        }
        static void PrintNumbers(int number)
        {
            Console.WriteLine(number);
        }
        class ThreadSample
        {
            private readonly int _interations;
            public ThreadSample(int interations)
            {
                _interations = interations;
            }
            public void CountNumbers()
            {
                for (int i = 1; i < _interations; i++)
                {
                    Thread.Sleep(TimeSpan.FromSeconds(0.5));
                    Console.WriteLine("Thread Name is {0},Prints={1}", Thread.CurrentThread.Name, i);
                }
            }
        }
    }

时间: 2024-11-09 08:53:09

多线程05-传参的相关文章

多线程动态传参问题

问题出现:如图下图所示,我们想动态的把参数i传到线程内部执行,出现语法错误,提示lambda表达式应该是final 解决方案:借助map传参数 原文地址:https://www.cnblogs.com/wwzyy/p/12303326.html

ruby中的多线程和函数的关键字传参

1.实现ruby中的多线程 # def test1 # n = 1 # if n > 10 # puts "test1结束" # else # while true # sleep 2 # puts n # n = n + 1 # end # end # end # # # def test2 # n = 100 # if n > 100 # puts "test2结束" # else # while true # sleep 2 # puts n #

多线程(二)启动线程:需要传参和不需要传参两种情况

1.不需要传参: class Program7 { private static void ExecuteInForeground() { DateTime start = DateTime.Now; var sw = Stopwatch.StartNew(); Console.WriteLine("Thread {0}: {1}, Priority {2}", Thread.CurrentThread.ManagedThreadId, Thread.CurrentThread.Thr

webpack2使用ch4-向根目录index.html文件传参并使用参数 使用线上资源 压缩html

1 webpack.config.js const webpack = require('webpack'), htmlWebpackPlugin = require('html-webpack-plugin'), path = require('path'); module.exports = { entry: { main: './src/script/main.js', a: './src/script/a.js' }, output: { path: path.resolve(__dir

WebApi传参总动员(五)

上回说到涉及多个实体的传参,用常规的方法已经不能解决了.这回我们用终极大招搞定她. WebApi:注意要引用JSON.Net [HttpPost] public string GetData(string name,JObject obj) { dynamic json = obj; //获得动态对象 JObject womanJson = json.woman; //获取动态对象中子对象 JObject sonJson = json.son; var woman = womanJson.ToO

Python----函数的初识与传参

'''03,函数的初识 def关键字 空格 函数名(与变量设置相同): 英文的冒号 函数体 执行函数 :函数名+() 函数是以功能为导向的, def login(): pass def register(): pass04,函数的返回值. return: 1,函数中遇到return 结束函数,下面代码不执行. 2,将函数里面的值返回给函数的执行者(调用者). 第一种情况: 只有return,返回None 第二种情况: return None 第三种情况: return 单个值(返回的值与单个值的

jQuery与django传参

Get方式传参 Django中的代码如下: urls.py代码: from django.conf.urls import url from django.contrib import admin import AjaxTest.views urlpatterns = [ url(r'^admin/', admin.site.urls), url(r"^index/$",AjaxTest.views.index), ] views.py代码: from django.http impo

spring jdbc传参及处理查询

传参有两种传参方式,一种直接传,一种通过对象传. 查询返回值,可以直接封进对象. public class springJdbcTest { private static JdbcTemplate jdbcTemplate; private static String uuid; @BeforeClass public static void init(){ ApplicationContext context = new ClassPathXmlApplicationContext("/spr

Azure sql database 监控存储过程的传参情况

背景 实施开发的同事找到我,反馈说项目中使用Azure sql database 之后,无法使用Profiler来监控自己开发的存储过程的参数传参情况.确实profiler这些实例级别的工具在Azure sql database下是不支持的,那我们有没有办法,变相实现监控参数情况,特写一篇博客记录一下. 测试环境 Microsoft SQL Azure (RTM) - 12.0.2000.8 Mar 30 2017 01:30:03 Copyright (C) 2016 Microsoft Co

JS完成页面跳转并传参的方法|附加:循环遍历对象

此方法只能传递较少参数 方法如下: <a href='page/index.html'>跳转</a> 以上是正常写法,如果要传参按一下写法: <!--参数写在?后面,多个参数用&隔开,下面传的参数为name=lemon,age=18--> <a href='page/index.html?name=lemon&age=18'></a> 当跳转到页面的时候这个页面的地址栏就会跟你写的那个一样,这时候你只需要获取地址栏的内容并进行采取