51
Dev开发社区
首页
文章
问答
工具
搜索
登录
注册
#多线程
【转】编写高质量代码改善C#程序的157个建议——建议22:确保集合的线程安全
建议22:确保集合的线程安全集合线程安全是指多个线程上添加或删除元素时,线程键必须保持同步。下面代码模拟了一个线程在迭代过程中,另一个线程对元素进行了删除。classProgram{staticList<Person>list=newList<Person>(){newPerson(...
代码星球
·
2020-04-06
建议
编写
高质量
代码
改善
C# 任务、线程、同步(五)
1、数据流使用 TPLDataFlow类库1classProgram2{3staticvoidMain(string[]args)4{5//ActionBlock();6//SourceAndTargetBlocksSample();7vartarget=SetupPipeline();8target.Pos...
代码星球
·
2020-04-06
任务
线程
同步
C# 任务、线程、同步(四)
Timer类使用1staticvoidMain(string[]args)2{3ThreadingTimer();4TimersTimer();56Console.Read();7}8staticvoidThreadingTimer()9{10using(vart1=newSystem.Threading.Timer(...
代码星球
·
2020-04-06
任务
线程
同步
进程和线程的区别
学习电脑和编程语言就会遇到进程和线程,初学者往往会在此陷入迷茫和纠结中。其实弄清这两个概念不是很难。从一定意义上讲,进程就是一个应用程序在处理机上的一次执行过程,它是一个动态的概念,而线程是进程中的一部分,进程包含多个线程在运行。 进程是一个具有独立功能的程序关于某个数据集合的一次运行活动。它可以...
代码星球
·
2020-04-06
进程
线程
区别
【转】编写高质量代码改善C#程序的157个建议——建议87:区分WPF和WinForm的线程模型
建议87:区分WPF和WinForm的线程模型WPF和WinForm窗体应用程序都有一个要求,那就是UI元素(如Button、TextBox等)必须由创建它的那个线程进行更新。WinForm在这方面的限制并不是很严格,所以像下面这样的代码,在WinForm中大部分情况下还能运行(本建议后面会详细解释为什么会...
代码星球
·
2020-04-06
建议
编写
高质量
代码
改善
【转】编写高质量代码改善C#程序的157个建议——建议78:应避免线程数量过多
建议78:应避免线程数量过多在多数情况下,创建过多的线程意味着应用程序的架构设计可能存在着缺陷。经常有人会问,一个应用程序中到底含有多少线程才是合理的。现在我们找一台PC机,打开Windows的任务管理器,看看操作系统中正在运行的程序有多少个线程。在笔者当前的PC机上,线程数最多的一个应用程序是某款杀毒软件...
代码星球
·
2020-04-06
建议
编写
高质量
代码
改善
【转】编写高质量代码改善C#程序的157个建议——建议77: 正确停止线程
建议77:正确停止线程开发者总尝试对自己的代码有更多的控制。例如,“让那个还在工作的线程马上停止下来”。然而,并非我们想怎样就可以怎样的,这至少涉及两个问题。第一个问题 正如线程不能立即启动一样,线程也并不是说停就停的。无论采用何种方式通知工作线程需要停止,工作线程都会忙完手头最紧要...
代码星球
·
2020-04-06
建议
编写
高质量
代码
改善
【转】编写高质量代码改善C#程序的157个建议——建议76: 警惕线程的优先级
建议76:警惕线程的优先级线程在C#中有5个优先级:Highest、AboveNormal、Normal、BelowNormal和Lowest。讲到线程的优先级,就会涉及线程的调度。Windows系统是一个基于优先级的抢占式调度系统。在系统中,如果有一个线程的优先级较高,并且它正好处在就绪状态,系统总是会优...
代码星球
·
2020-04-06
建议
编写
高质量
代码
改善
【转】编写高质量代码改善C#程序的157个建议——建议75:警惕线程不会立即启动
建议75:警惕线程不会立即启动现代的大多数操作系统都不是一个实时的操作系统,Windows系统也是如此。所以,不能奢望我们的线程能够立即启动。Windows内部会实现特殊的算法以进行线程之间的调度,在某个具体的时刻,它会决定当前应该运行哪个线程。这反映到最底层就是某个线程分配到了一定的CPU时间,可用来执行...
代码星球
·
2020-04-06
建议
编写
高质量
代码
改善
基于C++11的线程池(threadpool),简洁且可以带任意多的参数
咳咳。C++11加入了线程库,从此告别了标准库不支持并发的历史。然而c++对于多线程的支持还是比较低级,稍微高级一点的用法都需要自己去实现,譬如线程池、信号量等。线程池(threadpool)这个东西,在面试上多次被问到,一般的回答都是:“管理一个任务队列,一个线程队列,然后每次取一个任务分配给一个线程去做...
代码星球
·
2020-04-06
基于
C++11
线程
threadpool
简洁
[笔记]linux下和windows下的 创建线程函数
linux下和windows下的创建线程函数1#ifdef__GNUC__2//Linux3#include<pthread.h>4#defineCreateThreadEx(tid,threadFun,args)pthread_create(tid,0,threadFun,args)5#defineClo...
代码星球
·
2020-04-06
笔记
linux
下和
windows
下的
CPU占用率呈正弦实现,及实时输出进程和线程的CPU占用率
CPU占用率呈正弦实现,及实时输出进程和线程的CPU占用率 #include"stdafx.h"#include<windows.h>#include<math.h>//时间转换static__int64file_time_2_utc(constFILETIME*ftime){LARG...
代码星球
·
2020-04-06
CPU
占用率
正弦
实现
实时
Executors几种常用的线程池性能比较
java编程中,经常会利用Executors的newXXXThreadsPool生成各种线程池,今天写了一小段代码,简单测试了下三种常用的线程池:importcom.google.common.util.concurrent.ThreadFactoryBuilder;importjava.util.ArrayList;...
代码星球
·
2020-04-06
Executors
几种
常用的
用的
线程
java并发编程学习: 守护线程(Daemon Thread)
在正式理解这个概念前,先把守护线程与守护进程这二个极其相似的说法区分开,守护进程通常是为了防止某些应用因各种意外原因退出,而在后台独立运行的系统服务或应用程序。比如:我们开发了一个邮件发送程序,一直不停的监视队列池,发现有待发送的邮件,就将其发送出去。如果这个程序挂了(或被人误操作关了),邮件就不发出去了,为了防止这种...
代码星球
·
2020-04-06
java
并发
编程
学习
守护
java并发编程学习:如何等待多个线程执行完成后再继续后续处理(synchronized、join、FutureTask、CyclicBarrier)
多线程应用中,经常会遇到这种场景:后面的处理,依赖前面的N个线程的处理结果,必须等前面的线程执行完毕后,后面的代码才允许执行。在我不知道CyclicBarrier之前,最容易想到的就是放置一个公用的static变量,假如有10个线程,每个线程处理完上去累加下结果,然后后面用一个死循环(或类似线程阻塞的方法),去数这个结...
代码星球
·
2020-04-06
java
并发
编程
学习
如何
首页
上一页
...
68
69
70
71
72
...
下一页
尾页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他