我正在将进程的输出重定向到流读取器,我稍后会阅读.我的问题是我使用多个线程,应该有这个流的单独实例.当我去读这个流时,线程捏造并开始奇怪地执行.
是否存在制作线程安全流的问题?
编辑:我在streamreader上的ReadToEnd和我所做的行上放了锁:reader = proc.StandardOutput;
我需要找到一个没有换行符(\n)的回车符(\n),之后我将如何使用正则表达式模式执行此操作?
我有一个"线程"类,它抛弃了执行进程的线程.线程在threader类中有一个回调方法,在完成后调用它们.我的问题是如何知道线程器抛出的所有线程何时完成?
我有一个方法,即触发线程来完成一些工作.将有2个线程在一段时间内异步运行,并且当调用它们的回调方法时,回调将触发另一个线程,直到完成所有工作.如何让我的方法等待所有这些线程完成并被解雇?
"blahblah\dummytext\_config.bat"
Run Code Online (Sandbox Code Playgroud)
如果我想从这个字符串中获取_config.bat,那么最好的方法是什么?只有我能想到的方法是从.bat读回它找到的第一个斜线,但我不知道该怎么做.
希望这是一个比我以前更好的问题.我有一个.exe,我将传递不同的参数(文件路径),然后它将接收和解析.所以我将循环,循环遍历列表中的文件路径并将它们传递给此.exe文件.
为了提高效率,我希望将执行分散到多个核心,我认为您通过线程进行了这一操作.
我的问题是,我应该使用线程池,还是多个线程来异步运行这个.exe?
另外,根据你们认为哪一个是最好的,如果你能指出一个教程,它将有一些关于我想做什么的信息.谢谢!
编辑:我需要将.exe的执行次数限制为一次执行PER CORE.这是最有效的,因为如果我解析100,000个文件,我不能只启动100000个进程.所以我使用线程将一次执行的次数限制为每个核心执行一次.如果有其他方法(线程除外)找出处理器是否没有执行,或者.exe已经完成请解释.但是如果没有其他方法,我的最终问题是如何使用线程调用解析方法然后在该线程不再使用时回调?
第二次更新(非常重要):
我经历了每个人都告诉我的事情,并找到了我遗漏的一个关键因素,我认为这无关紧要.所以我使用的是GUI,我不希望它被锁定.这就是我想使用线程的原因.我现在的主要问题是,如何从线程发回信息,以便我知道执行何时结束?
我有一些关于线程池的问题.首先,如果我想异步限制执行中的线程数,我会改变什么?其次,在设置最大值和设置最小线程数时,完成端口线程是什么?
我在主线程中有一个"字符串"和一个"StreamReader".我想将这些传递给一个将流读取器读入字符串的线程.我希望在主线程中更改该字符串.我的问题是我该怎么做?
附加信息:我有具体的原因,为什么我想要解决这个问题,所以请坚持规范.另外,我不能使用TPL,因为我无法获得框架4.0 ...再次出于特定原因.
我需要一些东西,它会在两个"%"符号中找到一个单词,并%用a 替换第一个,用a 替换[第二个%符号].
所以在字符串"这是带有%百分号的虚拟文本%"它将使它"这是虚拟文本[带]百分号"
编辑:有没有办法在同一个正则表达式中搜索和替换两个不同的东西?就像我需要用[blah]替换%blah%而用[~dp1]替换%~dp1时,%~dp1调用格式为%〜(这里可能是一些字母)(总是以一个数字结束,这就是你怎么样的知道电话结束了对不起这是最后一件事:)
我试图使用线程多次执行单个程序(在核心之间分配负载).我有两个核心,所以我需要制作两个线程.当一个线程完成时,该线程需要再次重用才能执行.我怎么会这样做我迷失了
好吧,我会尝试解释为什么我需要以某种方式做到这一点.基本上,我需要一个应用程序多次异步执行某个.exe.眼镜:
我应该怎么做呢?(例子帮了我很多)