c# 多线程执行一个函数

C# 中使用多线程调用一个静态函数是否会产生线程安全问题 如题 在开发系统时 多个类需要调用同一个静态方法有可能会同时发生, 静态方法中没有静态变量 那么会不会出现线程安全问题呢 如下测试 开启 3 个线程 线程睡眠时间逐渐减少 共同调用同一个静态方法 静态方法输出传入得形参并显示 如果出现问题那么输出结果就会乱,多次运行 结果相同 那么认为该情况下不会产生线程安全问题 using System; using System.Collections.Generic; using System.Linq; using System.Text; using Syst 阅读详情

(1)感谢声明

首先感谢黄师,刘老师给于的指导(学校的指导老师)

其次感谢这篇博客的博主写出了这么好的文章:http://www.cnblogs.com/yunfeifei/p/3993401.html

感谢那位大神,给我指点迷津,虽然不知道你全名,姑且就叫你杨工吧!

(2)记录备忘

由于刚刚入门这个多线程,所以此博客仅仅用于记录备忘,同时也给和我一样的初学者一个入门通道

我先来讲讲我目前理解的多线程,可能不对,也请大家指正

比如:我现在有100个工作要人去做 ,而做的人只有一个,就算一个任务一秒钟,也得一百秒

而现在,我是用了多线程,就相当于我广招天下英才招了99个人,然后大家一起来干这一百件事,仅仅一秒就完成

同样,获得了快的处理也有了开销大的不良影响,那么这样,就算我9个人,我也仅仅只需要9秒就完成(控制线程数量)

所以就这样


(3)代码实列

 for (int sub = 0; sub < threadNameArray.Length; sub++) //
                {
                    if (threadNameArray[sub] != null) {
                        Count++;
                        Thread blackName = new Thread(new ParameterizedThreadStart(addtoOrc));//新建一个线程并且绑定执行函数
                        blackName.Start(threadNameArray[sub]);//传入线程参数(线程参数是一个object基类要小心)
                    }
                    while(true){
                        if (dividedNum < 10) break;//控制线程数最大为10
                    }
                }
public void addtoOrc(object name)//绑定的执行函数
        {
           //你的处理代码
            dividedNum--;//完成一个线程就将线程数量减一
        }




        
C# 多线程详细讲解 C# 多线程详细讲解 一、基本概念 1、进程 首先打开任务管理器,查看当前运行的进程: 从任务管理器里面可以看到当前所有正在运行的进程。那么究竟什么是进程呢? 进程(Process)是Windows系统中的一个基本概念,它包含着一个运行程序所需要的资源。一个正在运行的应用程序在操作系统中被视为一个进程,进程可以包括一个或多个线程。 线程是操作系统分配处理器时间的基本单元,在进程中可以有多个线程同时执行代码。进程之间是相对独立的,一个进程无法访问另一个进程的数据(除非利用分布式计算方式),一个进程运行的失败 阅读详情

相关推荐

C#一个简单多线程的实例

很多初学者听到线程会觉得晦涩难懂,很多资料一堆专有名词也是让人心烦意乱,本着学习加分享的态度,这里做一个简单的实例分享帮助初学者们初识多线程。 首先大概讲述一下多线程和多进程的区别,任务管理器里各种不同的进程就是多进程,或者是你同时运行多个”.exe’程序就可以理解为多进程,多进程是要更多消耗CPU资源的。 多线程是相对于进程里更小的单位,比如3个线程在1个进程里进行不同的操作,他们所拥有的资源

Yujie_Yang的博客 1万+

c#多线程并发执行一个操作函数

有时候我们进行很多的数据对比运算时,单线程的程序显得很慢,这个时候可以用多线程并发运行: int maxThread = 10; //10个并发线程 int currTNum = 0; WaitHandle[] whs = new WaitHandle[maxThread]; //Wai

直到世界的尽头 1万+

【SPSS操作】Non-parametric ANCOVA (Quade‘s) in SPSS

在SPSS中执行Quade的非参数ANCOVA需要手动计算步骤,因为SPSS没有内置的菜单选项。以下是详细的操作指南。

weixin_43689393的博客 1278

C#多线程同步的几种方法

1.为什么使用同步 多线程操作的时候我们知道要避免线程之间共享数据,但是很多时候我们要使用多线程并且还要访问同一块内存的数据,这是我们就必须要使用同步技术,确保一次只有一个线程访问和改变共享状态。 下面我就来说一下同步所用的几种方法。 2.Lock语句 lock是一种比较好用的简单的线程同步方式,它是通过为给定对象获取互斥锁来实现同步的。它是通过线程之间的互斥来达到同步效果的。用法如下: ...

谁念西风独自凉 7384

【LVGL】学习笔记--(3)界面切换以及显示优化

界面切换和帧率优化

sinat_33408502的博客 1万+

【无人机设计与控制】基于PID控制的四旋翼无人机系统Matlab仿真

本文设计并仿真了基于PID控制的四旋翼无人机系统。首先,建立了四旋翼无人机的数学模型,涵盖了无人机的动力学和控制系统。通过PID控制器对四旋翼的姿态和位置进行控制,以实现其稳定飞行。使用MATLAB/Simulink对该系统进行仿真,验证了PID控制算法在四旋翼控制中的有效性。仿真结果表明,PID控制能够较好地调节四旋翼的飞行姿态,并有效抑制外部干扰,使得无人机能够保持平稳飞行。

2401_84610415的博客 1804

c# 多线程 调用带参数函数

来自:http://blog.youkuaiyun.com/wangzh300/article/details/6969354 c# 多线程 调用带参数函数 分类: asp.net随笔2011-11-14 16:57 280人阅读 评论(0) 收藏 举报 [csharp] view plaincopy   线程操作主要用到Thread

anhkgg的专栏 808

Qt Design Studio 入门指南:从零开始打造炫酷UI(详细+实用+轻松上手)

本文是Qt Design Studio的详细入门指南,旨在帮助UI设计新手从零开始轻松打造炫酷界面。文章系统介绍了软件的核心概念、安装步骤、主界面解析,并通过创建一个完整的登录界面实例,手把手教学如何拖拽组件、设置属性、添加交互状态与动画。同时,分享了创建自定义组件、管理资源以及提升效率的实用技巧与常见问题解决方案,让读者能够快速上手并应用于实际项目开发。

devops8pract的博客 588

c# winform 多线程对一个函数设置执行的超时时间、函数执行的等待时间

c# winform对一个函数设置执行超时时间、函数执行的等待时间,不影响主线程。

weixin_38582851的博客 1003

保姆级教程:手把手教你用CANoe/CANalyzer读取汽车故障码(UDS 0x19服务实战)

本文提供了一份详细的CANoe/CANalyzer使用教程,指导如何通过UDS 0x19服务读取汽车故障码。从硬件配置到报文构建,再到故障码解析,手把手教你完成汽车诊断全流程,特别适合汽车电子工程师和诊断开发人员。

weixin_42524945的博客 258

【笔记篇】Davinci Configurator OS模块(上)

主要讲解了AUTOSAR OS配置项和Vector MICROSAR OS的特性

weixin_47571898的博客 2271

C#中一道关于多线程的编程题

题目的意思是这样的:让两个线程A和B将自己的ID轮番写入一个文件中,每个线程重复十次写入后执行一个回调函数,说“I'm OK”,就这样。我是一名QA,不是开发,出于兴趣报考了公司的C#课程考试,多线程那些知识我也认真听过课,但是总归没有机会实际运用过,所以一到真正要动手写的时候也就基本等于不会了,最后我想了半天写了这样的一个程序,我感觉也算是符合了题的要...

weixin_34342905的博客 95

Holosoma 开源人形机器人强化学习训练部署框架

Holosoma是一个综合性人形机器人框架,支持强化学习策略的训练、部署和动作重定位。该框架兼容多种模拟器(IsaacGym、IsaacSim、MuJoCo等)和机器人(Unitree G1、Booster T1),提供运动控制和全身追踪功能。主要特性包括:跨模拟器训练评估、Wandb集成、多GPU支持、自定义奖励权重和观测噪声配置。推理模块支持实体机器人部署和MuJoCo仿真测试。动作重定位工具可将人体动作数据转换为机器人动作,支持单序列和批量处理。文档详细介绍了训练配置、评估方法和高级功能,如课程学习和

2506_90492529的博客 1828

C#中的多线程使用 -- Thread 类: 使用回调函数从一个线程中检索数据

下面为一个完整的实例: using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading;namespace conThreadCallBack{ class Program { static void Main(str

A_post的专栏 2574

Python 实战:全面解析“微信搜一搜”内容爬取,从入门到企业级架构

本文将带你从零搭建爬虫项目,采用 Requests、Scrapy、Selenium、Proxy 池、中间人监控(如 Fiddler/mitmproxy)、分布式调度、数据库持久化、断点续抓等方案,实现可持续、抗封能力强的内容抓取系统。理解“微信搜一搜”页面结构与 Javascript 渲染逻辑;使用 Scrapy 框架搭建分布式爬虫;使用 Selenium 模拟浏览器抓取;构建代理池提升爬取成功率;对抗验证码、IP 封禁与 cookie 过期问题;

2201_76125261的博客 1393

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

C#的lock用法

C#的lock用法

qq_43622870的博客 1903

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

关于GC和析构函数的一个趣题

这个有趣的问题感谢装配脑袋友情提供。 请看如下代码: public class Dummy { public static Dummy Instance; public int X = 1; ~Dummy() { Instance = this; } ...

weixin_33933118的博客 139

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

C#中的多线程编程原理与实现例子

C#是.Net平台的通用开发工具,它能够建造所有的.Net应用。在.Net中所有线程都运行在应用程序域(AppDomain)中,这也许让你想到Win32进程,实际上它们还是有很大的不同。应用程序域提供了一种安全而通用的处理单元,公共语言运行库可使用它来隔离应用程序。注意在.Net中应用程序的隔离是应用程序域而不是进程,在单个进程中可以存在几个应用程序域,而且线程可以跨越应用程序域的范围,某个线程中

秋风扶柳笛的专栏 1631

C#多线程整理

什么是进程? 当一个程序开始运行时,它就是一个进程,进程包括运行中的程序和程序所使用到的内存和系统资源。而一个进程又是由多个线程所组成的。什么是线程?线程是程序中的一个执行流,每个线程都有自己的专有寄存器(栈指针、程序计数器等),但代码区是共享的,即不同的线程可以执行同样的函数。什么是多线程?多线程是指程序中包含多个执行流,即在一个程序中可以同时运行多个不同的线程来执行不同的任务,也就是说允许单...

weixin_30823683的博客 73

c#多线程实现函数同步运行

我们假设有方法run1()和run2(),耗时都比较大,实现他们同步运行将大大提高程序的效率,在这里考虑使用多线程的方法。 首先添加引用,定义bool型i,j为false。 usingSystem.Threading; 在函数入口,比如说start中。 voidstart() { //实例化要开启的新类,线程thread1执行方法run...

weixin_30548917的博客 174

C#多线程的实现

首先,上个多线程的概念。通过单独的线程来执行某个任务,一个多线程程序可以执行多个任务,而且这些线程都是并行执行,同时执行多个线程的能力称为多线程。 根据多线程的概念,我们知道,多线程可以提高程序的运行效率,加快运行的速度。比较典型的应用就是我们经常使用的下载工具,就用到了多线程技术。 在C#里面,.net framework为我们提供了多线程的实现。微软的msdn文档,也给出了实例。见MSDN...

836811384 488

C#中多线程Task详解

频繁的创建和消耗比较好资源;提供操作线程的API不是马上响应(线程是操作系统统一管理,收到指令之后,具体还得操作系统真实处理,而操作系统收到指令之后并非马上执行相关指令);

m0_48667560的博客 1万+

c#多线程同步执行

在C()方法中,其实是遇到await后,代码则是返回task.run上面去了,然后从上到下再执行,执行到第二方法,又返回task.run上面去了,然后再从上到下执行,以此类推,所以和同步执行的时间基本上一样的。多线程对于单线程来说的,单线程,就是开启一个线程进行工作,多线程则是,开启多个线程进行多个工作,并且没有顺序,没有规律性。多线程同步,则是,既有同步和多线程的特点,即开启多个线程进行工作的同时,还要按照顺序和规律执行。耗时5052,并且是按照顺序执行的,而且界面还可以拖动,正是我们需要的。...

故里2130 6448
上一篇: c#中超级好用的DataSet
下一篇: 如何实现数据库批量插入oracle11g
反斜杠青年
博客等级 码龄11年 29粉丝 73原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值