草庐IT

RTW_CMD_THREAD

全部标签

string - 从命令行 cmd 启动 Windows 10 UWP 应用程序

我希望能够从单个命令行(cmdWindows10)输入启动Windows10UWP应用程序。我在将字符串连接在一起以形成整个包名称时遇到问题(这需要是动态的,因为应用程序的结束字符串可能会随着每次部署而改变)。这是我的逻辑:在LocalAppData目录中找到应用程序包名称(即packageName_postfix)将“!App”附加到#1中结果的末尾将该字符串传递给启动函数:我已经到了可以找到#1的地步,但由于某种原因,当我尝试将它附加到#2时,我得到了NULL值。这是我当前的命令:1.)&2.):GetPackageNameandAppenditto"!App"set"x=|dir

c# - Thread.Sleep 的精度还很差吗?

我的印象是Thread.Sleep(x)并不精确,它所做的只是让线程在最小值x女士。参见here,here和here.当sleep时间很短时,例如1ms,预计你会发现线程偶尔会休眠大约15ms。这是apparently由于时钟中断率默认为每秒64次。几年前我尝试过这个,事实上,我也体验过15ms分辨率。但是,我刚刚再次尝试,现在我看到了1ms到2ms的分辨率,很少>2ms。有什么变化?.NET是否发生了变化(我现在使用的是4.6,不记得我2年前使用的是什么)?也许是操作系统发生了变化?(我使用过并且仍在使用AWSEC2WindowsServer,但也许有更新。)我的简单测试程序:pri

c# - Thread.Sleep(0) 没有按描述工作?

我正在阅读thisexcellentarticle关于线程并阅读以下文本:Thread.Sleep(0)relinquishesthethread’scurrenttimesliceimmediately,voluntarilyhandingovertheCPUtootherthreads.我想测试一下,下面是我的测试代码:staticstrings="";staticvoidMain(string[]args){//CreatetwothreadsthatappendstringsThreadthreadPoints=newThread(SetPoints);Threadthread

c# - 为什么 Thread 不实现 IDisposable?

我注意到System.Threading.Thread实现了终结器而不是IDisposable。推荐的做法是在实现终结器时始终实现IDisposable。杰弗里·里希特wrote该准则“非常重要,应始终无一异常(exception)地遵守”。那么为什么Thread不实现IDisposable?看起来实现IDisposable将是一个不间断的更改,它将允许确定性地清理Thread的可终结资源。还有一个相关的问题:由于线程是可终结的,我是否必须保留对正在运行的线程的引用以防止它们在执行期间被终结? 最佳答案 处理Thread对象会做什么

c# - 如何制作从 C# "Thread-safe"调用的 C (P/invoke) 代码

我有一些使用单个全局变量的简单C代码。显然这不是线程安全的,所以当我在C#中使用P/invoke从多个线程调用它时,事情就搞砸了。如何为每个线程单独导入此函数,或使其成为线程安全的?我尝试声明变量__declspec(thread),但这导致程序崩溃。我还尝试制作一个C++/CLI类,但它不允许成员函数是__declspec(naked),我需要(我正在使用内联汇编)。我在编写多线程C++代码方面经验不足,因此可能缺少某些内容。下面是一些示例代码:C#[DllImport("MyDll.dll",CallingConvention=CallingConvention.Cdecl)]pu

C# - 线程中止异常(Thread Abort Exception)重新抛出自身

我有当前代码:classProgram{privatestaticvoidMain(){while(true){try{Thread.CurrentThread.Abort();}catch(ThreadAbortException){Console.WriteLine("Abort!");Thread.ResetAbort();}Console.WriteLine("nowwaiting");Console.ReadKey();}}}现在我知道ResetAbort方法应该可以防止ThreadAbortException继续重新抛出自身,即使catch语句正在捕获它,但我的问题是:如果

c# - "thread-safe type"到底是什么?我们什么时候需要使用 "lock"语句呢?

我阅读了所有关于线程安全类型和“锁定”语句的文档,但我仍然没有100%理解它。具体什么时候需要使用“lock”语句?它与(非)线程安全类型有何关系?谢谢。 最佳答案 想象一个类的实例,里面有一个全局变量。想象一下,两个线程同时对该对象调用一个方法,并且该方法更新内部的全局变量。变量中的值很可能会被破坏。不同的语言和编译器/解释器会以不同的方式处理这个问题(或者根本不处理......)但关键是你会得到“不希望的”和“不可预测的”结果。现在假设该方法在尝试读取或写入变量之前获得变量的“锁”。第一个调用该方法的线程将获得变量的“锁”,第二

c# - 如何在 C# 中获取 CMD/控制台编码

我需要指定正确的代码页以使用zip库打包文件。如我所见,我需要指定控制台编码(在我的例子中是866)。C:\Users\User>modeStatusfordeviceCON:----------------------Lines:300Columns:130Keyboardrate:31Keyboarddelay:1Codepage:866Console.OutputEncoding返回1251,这不是我需要的。谢谢,亚历克斯更新1:显然,在cmd.exe中执行“mode”并解析输出应该可以,但似乎太粗鲁了。我正在寻找.NET解决方案。更新2:该应用程序是Windows窗体应用程序,

c# - MSDN : What is "Thread Safety"?

在许多MSDN文档中,这写在线程安全标题下;“此类型的任何公共(public)静态(在VisualBasic中为共享)成员都是线程安全的。不保证任何实例成员都是线程安全的。”例如;here有人可以用一种相当简单的方式解释一下吗?谢谢:) 最佳答案 埃里克·利珀特(EricLippert)表现出色blogpost对这个。基本上它本身有点毫无意义。当我看到那个样板时,就我个人而言,在这方面我不太相信MSDN。它并不总是意味着它所说的。例如,它对Encoding说了同样的话-尽管事实上我们都在各处使用来自多个线程的编码。除非我有任何理由不

c# - 从 Winforms 控制 cmd.exe

问题:我想在winforms中控制cmd.exe我并不是说单个进程中的每个命令,带有启动信息,然后停止。我的意思是例如启动(我的)SQL或GDB命令提示符,发送命令,接收答案,发送下一个命令,接收下一个答案,停止SQL命令提示符退出流程。基本上我想在任何控制台应用程序之上编写一个GUI。我想将cmd.exe的输出重定向到一个文本字段,而输入来自另一个文本字段(按下回车/确定按钮)。我没有找到任何样本。有办法吗? 最佳答案 CodeProject上有一个很好的例子祝你好运!-编辑:我认为这更像它,我创建了一个简单的表单、2个文本框和三