我读了Use AsyncCallback,有这段代码:
using System;
using System.Threading;
using System.Runtime.Remoting.Messaging;
class MainClass
{
delegate int MyDelegate(string s);
static void Main(string[] args)
{
MyDelegate X = new MyDelegate(DoSomething);
AsyncCallback cb = new AsyncCallback(DoSomething2);
IAsyncResult ar = X.BeginInvoke("Hello", cb, null);
Console.WriteLine("Press any key to continue");
Console.ReadLine();
}
static int DoSomething(string s)
{
Console.WriteLine("doooooooooooooooo");
return 0;
}
static void DoSomething2(IAsyncResult ar)
{
MyDelegate X = (MyDelegate)((AsyncResult)ar).AsyncDelegate;
X.EndInvoke(ar);
}
}
Run Code Online (Sandbox Code Playgroud)
需要注意的是在DoSomething2,这是一个AsyncCallback,委托明确由命令杀死EndInvoke.
这真的有必要吗?因为AsyncCallback除非并且直到委托方法完成运行,否则不会被调用.
我想将输出从gethrtime转换为毫秒.
显而易见的方法是除以1000000.但是,我经常这样做,并想知道它是否会成为瓶颈.
处理1000000这样的数字时是否有优化的除法运算?
注意:任何代码都必须是可移植的.我正在使用gcc,这通常是在Sparc硬件上
使用下面的代码进行一些快速测试...希望是对的.
#include <sys/time.h>
#include <iostream>
using namespace std;
const double NANOSECONDS_TO_MILLISECONDS = 1.0 / 1000000.0;
int main()
{
hrtime_t start;
hrtime_t tmp;
hrtime_t fin;
start = gethrtime();
tmp = (hrtime_t)(start * NANOSECONDS_TO_MILLISECONDS);
fin = gethrtime();
cout << "Method 1"
cout << "Original val: " << start << endl;
cout << "Computed: " << tmp << endl;
cout << "Time:" << fin - start << endl;
start = gethrtime();
tmp = (start / 1000000);
fin = gethrtime(); …Run Code Online (Sandbox Code Playgroud) Visual Studio在其输出面板中自动显示dll加载/卸载,如下所示:
'DialogAppDEBUG.exe': Unloaded 'C:\WINDOWS\system32\wbem\fastprox.dll'
'DialogAppDEBUG.exe': Unloaded 'C:\WINDOWS\system32\ntdsapi.dll'
'DialogAppDEBUG.exe': Unloaded 'C:\WINDOWS\system32\wldap32.dll'
'DialogAppDEBUG.exe': Unloaded 'C:\WINDOWS\system32\wbem\wbemsvc.dll'
'DialogAppDEBUG.exe': Unloaded 'C:\WINDOWS\system32\wbem\wbemprox.dll'
'DialogAppDEBUG.exe': Unloaded 'C:\WINDOWS\system32\wbem\wbemcomn.dll'
Run Code Online (Sandbox Code Playgroud)
无论如何暂时禁用此功能?当通过DebugOutputString()进行大量调试时,这些消息总是倾向于将我的打印件从面板上移开,我不得不四处寻找它们,这使得这个过程变得更加麻烦.我用Google搜索并搜索了我能想到的所有VS选项,但无济于事......
我有以下json字符串,我想从中检索电子邮件地址.我怎么在PHP中做到这一点?
{"communications":{"communication":[{"@array":"true","@id":"23101384","@uri":"xyz/v1/Communications/1111","household":{"@id":"111111","@uri":"xyz/v1/Households/5465465"},"person":{"@id":"","@uri":""},"communicationType":{"@id":"1","@uri":"xyz/v1/Communications/CommunicationTypes/1","name":"Home Phone"},"communicationGeneralType":"Telephone","communicationValue":"1111","searchCommunicationValue":"2693240758","listed":"true","communicationComment":null,"createdDate":"2008-11-10T12:31:26","lastUpdatedDate":"2009-08-11T23:40:02"},{"@array":"true","@id":"11111","@uri":"xyz/v1/Communications/111111111","household":{"@id":"14436295","@uri":"xyz/v1/Households/11111"},"person":{"@id":"2222222","@uri":"xyz/v1/People/22222222"},"communicationType":{"@id":"2","@uri":"xyz/v1/Communications/CommunicationTypes/2","name":"Work Phone"},"communicationGeneralType":"Telephone","communicationValue":"11111","searchCommunicationValue":"789787987","listed":"false","communicationComment":null,"createdDate":"2009-08-09T15:49:27","lastUpdatedDate":"2009-08-11T23:40:02"},{"@array":"true","@id":"11111","@uri":"xyz/v1/Communications/11111","household":{"@id":"1111","@uri":"xyz/v1/Households/1111"},"person":{"@id":"244404","@uri":"xyz/v1/People/1111"},"communicationType":{"@id":"3","@uri":"xyz/v1/Communications/CommunicationTypes/3","name":"Mobile"},"communicationGeneralType":"Telephone","communicationValue":"22222","searchCommunicationValue":"5475454","listed":"true","communicationComment":null,"createdDate":"2008-11-10T12:31:26","lastUpdatedDate":"2009-08-11T23:40:02"},{"@array":"true","@id":"15454","@uri":"xyz/v1/Communications/111111","household":{"@id":"14436295","@uri":"xyz/v1/Households/1111"},"person":{"@id":"244444474","@uri":"xyz/v1/People/111111"},"communicationType":{"@id":"4","@uri":"xyz/v1/Communications/CommunicationTypes/4","name":"Email"},"communicationGeneralType":"Email","communicationValue":"email@needthis.com","searchCommunicationValue":"email@needthis.com","listed":"true","communicationComment":null,"createdDate":"2008-11-10T12:31:26","lastUpdatedDate":"2009-08-11T23:39:06"}]}}
Run Code Online (Sandbox Code Playgroud) 我想获取音频PCM数据并在其中找到峰值.具体来说,我想返回峰值出现的频率和时间.
我对此的理解是我必须将PCM数据转储到一个数组中,将其设置为实数值,将复杂的部分设置为0.然后我接受FFT,然后得到一个数组.如果数组中的每个数字都是一个幅度值,我如何获得与每个数字相关的频率?另外,我是否考虑了真实和复杂部分的大小或者只是丢弃了复杂的值?
最后,如果我想在一首歌中找到峰值,我是否只需设置一个小窗口进行FFT并将其滑过所有音频?有关该窗口应该有多大的任何建议?
我有以下功能来获取卡的验证错误.我的问题涉及处理GetErrors.两种方法都具有相同的返回类型IEnumerable<ErrorInfo>.
private static IEnumerable<ErrorInfo> GetErrors(Card card)
{
var errors = GetMoreErrors(card);
foreach (var e in errors)
yield return e;
// further yield returns for more validation errors
}
Run Code Online (Sandbox Code Playgroud)
是否可以返回所有错误GetMoreErrors而无需通过它们进行枚举?
想一想这可能是一个愚蠢的问题,但我想确保我不会出错.
我们有一个非常简单的tcp消息传递脚本,它将一些文本捕获到服务器端口,该端口返回并显示响应.
我们关心的脚本部分看起来像这样:
cat someFile | netcat somehost 1234
Run Code Online (Sandbox Code Playgroud)
一旦我们得到某个字符代码(特别是&001C)返回,服务器返回的响应就是"完成" .
当我收到这个特殊字符时,如何关闭连接?
(注意:服务器不会为我关闭连接.虽然我现在只是CTRL + C脚本,但我可以告诉它已完成,我希望能够一个接一个地发送许多这些消息.)
(注意:netcat -w x不够好,因为我希望尽快推送这些消息)
我只有一个方法,我需要几个不同的类来访问,只是为一个方法创建一个实用程序类似乎很蹩脚.需要使用此方法的类已经继承了一个抽象类,因此我无法使用继承.在这种情况下你们会做什么?
我正在编写一个使用jsp和java的程序,我如何使用属性文件来支持多种语言?顺便说一句,总有一些东西像\ u4345,这是什么?他们怎么来的?