Sunday 25 December 2016

Espere A La Espera

Su solución no necesita AutoResetEvent pero encuesta. Cuando haces sondeo en lugar de utilizar el evento (cuando están disponibles), entonces estás usando la CPU sin ninguna razón y eso indica que eres un programador defectuoso. Su solución es realmente mala cuando se compara con la otra utilizando AutoResetEvent. (Pero no te di -1 porque trataste de ayudar). Ndash Eric Ouellet Nov 7 14 at 18:38 Yo estaba teniendo el mismo problema, pero la razón era diferente. Sin embargo sucedería bajo Windows 8, pero no bajo Windows 7. La línea siguiente parece haber causado el problema. La solución era NO deshabilitar UseShellExecute. Ahora recibí una ventana emergente de Shell, que no es deseada, pero mucho mejor que el programa esperando que nada particular suceda. Así que añadí el siguiente trabajo para que: Ahora lo único que me molesta es por qué esto está sucediendo bajo Windows 8 en el primer lugar. Respondió Jan 13 15 at 10:35 Ejemplo de uso ImplementaciónEstoy teniendo un problema con esto y espero que algunos de ustedes puedan arrojar algo de luz sobre él para mí El bloque de código: He cambiado la URL, obviamente, pero eso no es importante. Cuando intento ejecutarlo, me da una excepción en la línea quotWaitForExitquot indicando quotNo proceso está asociado con este objeto. quot Cualquier ayuda aquí sería muy apreciada Martes, 19 de octubre de 2010 18:05 Respuestas El nombre de archivo de proceso tiene que ser ejecutable Archivo mBoardProcess. StartInfo. Argumentos microsoft / es / us / default. aspx mBoardProcess. StartInfo. FileName quotIEXPLORE. EXEquot CÓDIGO CONVERTER SITE Editado por kaymaf Martes 19 de Octubre de 2010 18:32 Marcado como respuesta por Frank L. Smith Martes 19 de Octubre de 2010 6: PYMODE. INFO: una forma práctica de usar la entrada / salida / error redireccionada en una p. 82218217 ltparam name8221p8221gtP para redireccionar. Debe tener UseShellExecute establecido en false. lt/paramgt 82218217 ltparam name8221StandardInput8221gtEsta cadena se enviará como entrada a la p. (Debe ser Nothing si no StartInfo. RedirectStandardInput) lt / paramgt 82218217 ltparam name8221StandardOutput8221gtLa salida de p8217s se recopilará en esta cadena ByRef. (Debe ser nada si no StartInfo. RedirectStandardOutput) lt / paramgt 82218217 ltparam name8221StandardError8221gtThe p8217s error se recoge en esta cadena ByRef. (Debe ser nada si no StartInfo. RedirectStandardError) Función lt / paramgt 82218217 ltremarksgtThis resuelve el problema de interbloqueo mencionado al msdn. microsoft/en-us/library/system. diagnostics. p.standardoutput. aspxlt/remarksgt ltRuntimepilerServices. Extension () gt Sub InputAndOutputToEnd (p ByVal Como Diagnostics. Process, ByVal como secuencia StandardInput. ByRef StandardOutput como secuencia. ByRef StandardError como secuencia) Si p es nada Then Throw New ArgumentException (8220p debe ser no null8221) 8216 p Supongamos ha comenzado. Por desgracia no hay forma de comprobarlo. Si p. StartInfo. UseShellExecute luego tirar Nueva ArgumentException (8220Set StartInfo. UseShellExecute a false8221) Si (p. StartInfo. RedirectStandardInput ltgt (StandardInput IsNot Nada)) A continuación, tirar Nueva ArgumentException (8220Provide una entrada no nula sólo cuando StartInfo. RedirectStandardInput8221) si (p. StartInfo. RedirectStandardOutput ltgt (StandardOutput IsNot Nada)) a continuación, tirar Nueva ArgumentException (8220Provide una salida no nula sólo cuando StartInfo. RedirectStandardOutput8221) Si (p. StartInfo. RedirectStandardError ltgt (StandardError IsNot Nada)) a continuación, tirar Nueva ArgumentException (8220Provide un error no nulo sólo cuando StartInfo. RedirectStandardError8221) Dim datosSalida Como Nueva InputAndOutputToEndData Dim ErrorData Como Nueva InputAndOutputToEndData Si p. StartInfo. RedirectStandardOutput Entonces


No comments:

Post a Comment