1. static void Main(string[] args)
  2. {
  3. Thread threadA = new Thread(ThreadMethod); //执行的必须是无返回值的方法
  4. threadA.Name = "A";
  5. Thread threadB = new Thread(ThreadMethod); //执行的必须是无返回值的方法
  6. threadB.Name = "B";
  7. threadA.Priority = ThreadPriority.Highest;
  8. threadB.Priority = ThreadPriority.BelowNormal;
  9. threadB.Start();
  10. threadA.Start();
  11. Thread.CurrentThread.Name = "C";
  12. ThreadMethod(new object());
  13. Console.ReadKey();
  14. }
  15. public static void ThreadMethod(object parameter)
  16. {
  17. for (int i = ; i < ; i++)
  18. {
  19. Console.Write(Thread.CurrentThread.Name);
  20. }
  21. }
  1. static void Main(string[] args)
  2. {
  3. Program pro = new Program();
  4. Thread threadA = new Thread(pro.ThreadMethod); //执行的必须是无返回值的方法
  5. threadA.Name = "王文建";
  6. Thread threadB = new Thread(pro.ThreadMethod); //执行的必须是无返回值的方法
  7. threadB.Name = "生旭鹏";
  8. threadA.Start();
  9. threadB.Start();
  10. Console.ReadKey();
  11. }
  12. public void ThreadMethod(object parameter)
  13. {
  14. lock (this) //添加lock关键字
  15. {
  16. for (int i = ; i < ; i++)
  17. {
  18. Console.WriteLine("我是:{0},我循环{1}次", Thread.CurrentThread.Name, i);
  19. Thread.Sleep();
  20. }
  21. }
  22. }
  1. static void Main(string[] args)
  2. {
  3. Program pro1 = new Program();
  4. Program pro2 = new Program();
  5. Thread threadA = new Thread(pro1.ThreadMethod); //执行的必须是无返回值的方法
  6. threadA.Name = "王文建";
  7. Thread threadB = new Thread(pro2.ThreadMethod); //执行的必须是无返回值的方法
  8. threadB.Name = "生旭鹏";
  9. threadA.Start();
  10. threadB.Start();
  11. Console.ReadKey();
  12. }
  13. public void ThreadMethod(object parameter)
  14. {
  15. lock (this)
  16. {
  17. for (int i = ; i < ; i++)
  18. {
  19. Console.WriteLine("我是:{0},我循环{1}次", Thread.CurrentThread.Name, i);
  20. Thread.Sleep();
  21. }
  22. }
  23. }

原文地址------------------------------------>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

多线程和线程池的一个全部解析——————————————————>>>>>>飞机票

C#多线程和线程池问题的更多相关文章

  1. C#多线程之线程池篇3

    在上一篇C#多线程之线程池篇2中,我们主要学习了线程池和并行度以及如何实现取消选项的相关知识.在这一篇中,我们主要学习如何使用等待句柄和超时.使用计时器和使用BackgroundWorker组件的相关 ...

  2. C#多线程之线程池篇2

    在上一篇C#多线程之线程池篇1中,我们主要学习了如何在线程池中调用委托以及如何在线程池中执行异步操作,在这篇中,我们将学习线程池和并行度.实现取消选项的相关知识. 三.线程池和并行度 在这一小节中,我 ...

  3. C#多线程之线程池篇1

    在C#多线程之线程池篇中,我们将学习多线程访问共享资源的一些通用的技术,我们将学习到以下知识点: 在线程池中调用委托 在线程池中执行异步操作 线程池和并行度 实现取消选项 使用等待句柄和超时 使用计时 ...

  4. 重新想象 Windows 8 Store Apps (42) - 多线程之线程池: 延迟执行, 周期执行, 在线程池中找一个线程去执行指定的方法

    [源码下载] 重新想象 Windows 8 Store Apps (42) - 多线程之线程池: 延迟执行, 周期执行, 在线程池中找一个线程去执行指定的方法 作者:webabcd 介绍重新想象 Wi ...

  5. ExecutorService 建立一个多线程的线程池的步骤

    ExecutorService 建立一个多线程的线程池的步骤: 线程池的作用: 线程池功能是限制在系统中运行的线程数. 依据系统的环境情况,能够自己主动或手动设置线程数量.达到执行的最佳效果:少了浪费 ...

  6. Qt多线程-QThreadPool线程池与QRunnable

    版权声明:若无来源注明,Techie亮博客文章均为原创. 转载请以链接形式标明本文标题和地址: 本文标题:Qt多线程-QThreadPool线程池与QRunnable     本文地址:https:/ ...

  7. Java基础教程:多线程基础——线程池

    Java基础教程:多线程基础——线程池 线程池 在正常负载的情况瞎,通过为每一个请求创建一个新的线程来提供服务,从而实现更高的响应性. new Thread(runnable).start() 在生产 ...

  8. Qt中的多线程与线程池浅析+实例

    1. Qt中的多线程与线程池 今天学习了Qt中的多线程和线程池,特写这篇博客来记录一下 2. 多线程 2.1 线程类 QThread Qt 中提供了一个线程类,通过这个类就可以创建子线程了,Qt 中一 ...

  9. Python多线程、线程池及实际运用

    我们在写python爬虫的过程中,对于大量数据的抓取总是希望能获得更高的速度和效率,但由于网络请求的延迟.IO的限制,单线程的运行总是不能让人满意.因此有了多线程.异步协程等技术. 下面介绍一下pyt ...

随机推荐

  1. 使用react 在页面上引用静态图片,图片不显示

    const url='../assets/logo.png'; <img src={url} alt=''/> 1.使用require <img src={require('../a ...

  2. bzoj 4007

    非常好的树形dp 首先,有个很显然的状态:记状态f[i][j]表示以i为根节点的子树中选了j个叶节点作战,那么很显然有转移:f[i][j1+j2]=f[i<<1][j1]+f[i<& ...

  3. tinymce-vue富文本编辑器(翻译)

    官方Tinymce Vue组件 翻译来自:https://github.com/tinymce/tinymce-vue 官方文档:https://www.tiny.cloud/docs/general ...

  4. shell 处理文件脚本

    [root@centos-6 ~]# cat info_file.txt lys:28:shanxi zhy:28:shanxi [root@centos-6 ~]# cat info_file2.t ...

  5. .NET C# 创建WebService服务简单的例子

    Web service是一个基于可编程的web的应用程序,用于开发分布式的互操作的应用程序,也是一种web服务 WebService的特性有以下几点: 1.使用XML(标准通用标记语言)来作为数据交互 ...

  6. javascript扩充基本类型的功能

    可以通过给Function.prototype增加方法来使得该方法对所有函数可用. 通过给Function.prototype增加一个method方法,下次给对象增加方法的时候就不必键入prototy ...

  7. eclipse发布后在tomcat下没有文件夹,服务器的Server locations不能修改

    主要是因为Server locations中的deploy路径不正确,要修改这个路径,需要移除服务器中的所有项目,然后点击清空,这时再双击服务器,既可修改这个设置.

  8. python全栈开发day82-modelForm

    1.jsonp内容 from django.shortcuts import render # Create your views here. def upload(request): if requ ...

  9. python全栈开发day73-Django认证系统

    一.Form组件 day73 2018-08-10 1. 内容回顾 1. form表单组件 1. 常用字段 1. CharField() 2. ChoiceField() 2. 参数或配置 1. la ...

  10. Python_time模块

    time模块:用于时间的访问和转换 UTC:协调世界时(世界统一时间) 时间戳:是指格林威治时间1970年01月01日00时00分00秒(北京时间1970年01月01日08时00分00秒)起至现在的总 ...