求高手 c#单线程与多线程的区别
答案:2 悬赏:0
解决时间 2021-04-21 16:46
- 提问者网友:堕落的邪教徒
- 2021-04-20 19:11
谁帮解释下这段代码 在处理皇后问题上 单线程和多线程的区别是什么 详细的方法我就不贴了
public static int Sequential(int n)
{
return new NQueensState(n).CountSolutions();
}
public static int Parallel(int n)
{
NQueensState[] statesAfterOneMove = new NQueensState[n];
for (int row = 0; row < n; row++)
{
statesAfterOneMove[row] = new NQueensState(n);
statesAfterOneMove[row].PlaceQueen(row);
};
return (from q in statesAfterOneMove.AsParallel()
select q.CountSolutions()).Sum();
有分后补 多谢!!!
顺便解释下 NQueensState[] statesAfterOneMove = new NQueensState[n]; 和 statesAfterOneMove[row] = new NQueensState(n); 第一个是对一个class实例化吧 那实例化后第二个又是什么意思呢
最佳答案
- 二级知识专家网友:厌今念往
- 2021-04-20 20:33
举个最简单的例子
像你做什么事,单线程就比如你用一个手做,如果正在做什么事情,想要做另外一个事情,就必须等上一个事情做完了 ,这样影响效率,两个手的话就会提升效率,还有就是有时候一个操作需要时间过长 会导致界面卡住不会动 这时候用线程可解决
NQueensState[] statesAfterOneMove = new NQueensState[n]; 这个是实例化一个NQueensState类的对象数组
statesAfterOneMove[row] = new NQueensState(n); 这个是对下标为row的statesAfterOneMove对象指定值,他的值是调用NQueensState的有参构造函数实例化的NQueensState的一个对象
有什么不懂继续问
像你做什么事,单线程就比如你用一个手做,如果正在做什么事情,想要做另外一个事情,就必须等上一个事情做完了 ,这样影响效率,两个手的话就会提升效率,还有就是有时候一个操作需要时间过长 会导致界面卡住不会动 这时候用线程可解决
NQueensState[] statesAfterOneMove = new NQueensState[n]; 这个是实例化一个NQueensState类的对象数组
statesAfterOneMove[row] = new NQueensState(n); 这个是对下标为row的statesAfterOneMove对象指定值,他的值是调用NQueensState的有参构造函数实例化的NQueensState的一个对象
有什么不懂继续问
全部回答
- 1楼网友:说多了都是废话
- 2021-04-20 21:56
都用linq了,为什么还要写循环,真搞不明白
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯