小编Chr*_*nte的帖子

如何计算CPU使用率?

在我的桌面上,我有一个小小部件告诉我当前的CPU使用情况.它还显示了我的两个核心的使用情况.

我总是想知道,CPU如何计算其处理能力的使用量?此外,如果CPU挂起来进行一些强烈的计算,它怎么能(或任何处理此活动)检查使用情况,而不会挂断?

algorithm cpu performance cpu-architecture cpu-usage

69
推荐指数
4
解决办法
5万
查看次数

新的C#5.0'async'和'await'关键字是否使用多个核心?

添加到C#5.0语言的两个新关键字是asyncawait,它们同时协同工作以异步运行C#方法而不会阻塞调用线程.

我的问题是,这些方法实际上是利用多个核并并行运行还是异步方法在与调用者相同的线程核心中运行?

c# parallel-processing asynchronous multicore c#-5.0

60
推荐指数
2
解决办法
1万
查看次数

什么是在Python中枚举串口的跨平台方法(包括虚拟端口)?

注意:我使用Python 2.7和pySerial进行串行通信.

我发现这篇文章列出了两种方式:http://www.zaber.com/wiki/Software/Python#Displaying_a_list_of_available_serial_ports

此方法适用于Windows和Linux,但有时会错过Linux上的虚拟端口:

import serial

def scan():
   # scan for available ports. return a list of tuples (num, name)
   available = []
   for i in range(256):
       try:
           s = serial.Serial(i)
           available.append( (i, s.portstr))
           s.close()
       except serial.SerialException:
           pass
   return available

print "Found ports:"
for n,s in scan(): print "(%d) %s" % (n,s)
Run Code Online (Sandbox Code Playgroud)

这个只适用于Linux,但包含虚拟端口:

import serial, glob

def scan():
   # scan for available ports. return a list of device names.
   return glob.glob('/dev/ttyS*') + glob.glob('/dev/ttyUSB*')

print "Found ports:" …
Run Code Online (Sandbox Code Playgroud)

python cross-platform serial-port pyserial python-2.7

31
推荐指数
3
解决办法
1万
查看次数

在顶部定义每个变量总是最好的方法吗?

我听说在函数顶部定义变量是一种很好的技术,因此最终不会出现可变的提升问题.这个:

// Beginning of file

function something(){
    var a, b, c = 1, d, e;
    // Do something
}

// End of file
Run Code Online (Sandbox Code Playgroud)

是一个很好的例子(当然不包括坏的变量名).

我的问题是:这总是最好的方法吗?如果你正在使用很多变量怎么办?他们真的应该只是在一条线上吗?

javascript variables

26
推荐指数
4
解决办法
2万
查看次数

中断是否会中断Arduino上的其他中断?

我有一个Arduino Uno(很棒的小装置!).它有两个中断; 我们称他们为01.我使用attachInterrupt():http://www.arduino.cc/en/Reference/AttachInterrupt将一个处理程序连接到中断0,另一个处理程序用于中断1 .

中断0被触发,它调用它的处理程序,它执行一些数字运算.如果在触发中断1时中断0的处理程序仍在执行,会发生什么?

中断1中断中断0,还是中断1等待,直到中断0的处理程序执行完毕?

请注意,这个问题与Arduino有关.

embedded microcontroller arduino interrupt interrupt-handling

22
推荐指数
2
解决办法
3万
查看次数

这是使用Parallel.ForEach()线程安全吗?

基本上,我正在使用这个:

var data = input.AsParallel();
List<String> output = new List<String>();

Parallel.ForEach<String>(data, line => {
    String outputLine = ""; 
    // ** Do something with "line" and store result in "outputLine" **

    // Additionally, there are some this.Invoke statements for updating UI

    output.Add(outputLine);
});
Run Code Online (Sandbox Code Playgroud)

输入是一个List<String>对象.该ForEach()语句对每个值进行一些处理,更新UI,并将结果添加到output List.这有什么本质上的错误吗?

笔记:

  • 输出顺序并不重要

更新:

根据我得到的反馈,我lockoutput.Add声明中添加了一个手册,以及UI更新代码.

c# parallel-processing multithreading thread-safety

21
推荐指数
3
解决办法
2万
查看次数

使用源代码管理时,实际应该提交哪些文件?

我正在开发一个托管在Google Code上的小项目,使用SVN进行源代码管理.这是我第一次使用源代码控制,我对实际应该提交到存储库的内容感到有点困惑.我的项目很简单:一个用C#编写的类库项目.我写的实际代码是单个文件.

我的问题是:我应该提交整个项目(包括调试,发布,属性等目录)还是我的主.cs文件?


(注意自我:不要使用Subversion战斗一段时间后不能复位库),它看起来像我终于有工作与目录奠定了正常.

c# svn

16
推荐指数
3
解决办法
1万
查看次数

如何在C#中更快地计算出简单的移动平均线?

用于计算简单移动平均值的最快库/算法是什么?我写了自己的,但是在33万项十进制数据集上花了太长时间.

  • 期间/时间(ms)
  • 20/300;
  • 60/1500;
  • 120/3500.

这是我的方法的代码:

public decimal MA_Simple(int period, int ii) {
    if (period != 0 && ii > period) {
        //stp.Start();
        decimal summ = 0;
        for (int i = ii; i > ii - period; i--) {
            summ = summ + Data.Close[i];
        }
        summ = summ / period;
        //stp.Stop();
        //if (ii == 1500) System.Windows.Forms.MessageBox.Show((stp.ElapsedTicks * 1000.0) / Stopwatch.Frequency + " ms");
        return summ;
    } else return -1;
}
Run Code Online (Sandbox Code Playgroud)

Data.Close[]是一个固定大小(1 000 000)的十进制数组.

c# algorithm financial moving-average

15
推荐指数
4
解决办法
6万
查看次数

SQLAlchemy导入具有关系的表

我在使用不同文件中的关系分隔表时遇到问题.我希望下面的表格在三个单独的文件中,并在第三方页面中导入TableA,但我无法管理加载顺序.

在大多数情况下,我收到以下错误.

sqlalchemy.exc. InvalidRequestError:初始化映射器Mapper | TableA | tablea时,表达式"TableB"无法找到名称("未定义名称'TableB'").如果这是类名,请考虑在定义了两个依赖类之后将此关系()添加到类中.

class TableA(Base):
    __tablename__ = "tablea"
   id = Column(Integer, primary_key=True)
   name = Column(String)

   tableB = relationship("TableB", secondary = TableC.__table__)

class TableB(Base):
   __tablename__ = "tableb"
   id = Column(Integer, primary_key=True)
  name = Column(String)

class TableC(Base):
   __tablename__ = "tableab"
   tableAId = Column("table_a_id", Integer, ForeignKey("TableA.id"), primary_key=True)
   tableBId = Column("table_b_id", Integer, ForeignKey("TableB.id"), primary_key=True)
Run Code Online (Sandbox Code Playgroud)

python sqlalchemy relationship

12
推荐指数
1
解决办法
8201
查看次数

如何在编译/优化后看到C#代码?

yield当我从深度的C#中看到一个示例章节时,我正在阅读关键字:http://csharpindepth.com/Articles/Chapter6/IteratorBlockImplementation.aspx.

第一个代码块使用yield关键字来创建一个简单的迭代器.但是,第二个代码块在编译器使用它之后显示了这段代码.除此之外,它还将yield声明分解为状态机.

在页面上可以看到编译器修改的其他几个代码示例.

我的问题是:作者是否真的能够在编译后访问代码,或者他是否推断出它会是什么样子?

.net c# compiler-construction optimization yield

11
推荐指数
2
解决办法
3129
查看次数