cpu-java多进程调度的问题,求大神帮忙。

问题描述

java多进程调度的问题,求大神帮忙。
我是使用ffmpeg.exe来进行视频格式的转换的:
第一:我执行一个main方法,这时(java.exe)这个进程就会被load到内存中被执行,然后继续执行main的主线程。
第二:这时我又开了一个其他线程来执行视频的格式转换,此时会帮我新创建出一个新进程(ffmpeg.exe)来。
第三:这时候出现了两个进程随之而来的也出现了问题。

经过分析测试发现:
1、只有java.exe进程结束后,才会执行ffmpeg这个进程。这并不是我想要的。
2、我需要的执行顺序是这样:先执行java.exe进程,再转码进程ffmpeg.exe执行完,然后再继续java.exe进程
3、因为在执行ffmpeg.exe这个进程中,我需要通过java.exe进程 来检测ffmpeg.exe进程的视频转码是否完成,返回给客户端,判断是否继续执行

我的问题:
1、java在创建进程的时候是否可以设置该进程的优先级?
2、我可以通过java来获取一个进程的执行时间么?
3、为什么只有在java.exe进程结束后才会执行ffmpeg.exe进程?
4、默认的cpu调度进程的算法是什么算法啊?(windows)

特别说明:
1、可能我的表达不是很清楚,各位大神的帮忙,小弟不胜感激。
2、文字会比较多,如果看不太懂,我可以具体说说

解决方案

按照我的理解,你的需求就是在java的主进程中调用一个ffmpeg.exe,这个在java中应该是这样的代码:
String[] cmdArray = buildComStringArray(cmd);//忽略实现cmd就是你的fmpeg.exe
ProcessBuilder pb = new ProcessBuilder(cmdArray);
pb.redirectErrorStream(true);
Process child = pb.start();

然后就可以使用child.waitFor();等待结束后继续你的java其他业务逻辑

解决方案二:
首先线程是独立运行的。线程开启,他就会运行。线程的一个作用就是让主进程运行下去,不用等待!按照你的想法,你不如不要用线程去转吗,因为你需要等待线程完成去继续执行主线程。根本就没必要用线程?

时间: 2024-10-04 18:58:42

cpu-java多进程调度的问题,求大神帮忙。的相关文章

关于java重写paint方法,求大神帮忙

问题描述 关于java重写paint方法,求大神帮忙 我能理解第一段模版函数,然后通过继承和重写方法,代入,为什么第二段代码,不需要带入父类方法,自己就跑起来了了,好像只要把paint重写了,系统自动跑, 还有中间通过屏幕监听的控制关闭的代码看不懂,为什么要这样写,老师说是匿名内部类,求大神讲解 解决方案 4444LJKHJHJHK'HJKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKJJJJJJJJJJJJJJ 解决方案二: 问题1:重新pa

java kml-java生成kml文件,求大神帮忙!

问题描述 java生成kml文件,求大神帮忙! 拿到了经纬度信息,需要用经纬度信息生成kml文件,求大神指导java怎么写? 解决方案 参考这里:http://blog.csdn.net/hnyzwtf/article/details/51453693

java.util.NoSuchElementException: Vector Enumeration 求大神帮忙,在线急等

问题描述 异常一Exceptioninthread"AWT-EventQueue-0"java.util.NoSuchElementException:VectorEnumerationatjava.util.Vector$1.nextElement(Vector.java:305)atjavax.swing.plaf.basic.BasicTableUI.getPreferredSize(BasicTableUI.java:1684)atjavax.swing.JComponent.

cpu-怎么用java获取非本机的CPU使用率和硬盘占有率?求大神指点!在线等!

问题描述 怎么用java获取非本机的CPU使用率和硬盘占有率?求大神指点!在线等! 可以获取本电脑的CPU使用率,不过获取他人的电脑的CPU使用率呢? 解决方案 这个一般是通过SNMP,WMI等方式,需要远程电脑上有安装对应的服务等 解决方案二: 请问需要安装什么服务?用java代码可以实现对非本机的CPU使用率的获取吗?谢谢啦!

java 面试题大全,求大神们帮助一下~~~~

问题描述 java 面试题大全,求大神们帮助一下~~~~ java 面试题大全,求大神们帮助一下~~~~java 面试题大全,求大神们帮助一下~~~~java 面试题大全,求大神们帮助一下~~~~java 面试题大全,求大神们帮助一下~~~~java 面试题大全,求大神们帮助一下~~~~java 面试题大全,求大神们帮助一下~~~~ 解决方案 求啥,百度上有的是,还带答案 解决方案二: http://pan.baidu.com/s/1kTxbjt9 百度文库 解决方案三: 同意楼上的,去百度上搜

java 上传图片到服务器上,在页面上不能显示,急急急,在线等,求大神帮忙!!!!!

问题描述 java 上传图片到服务器上,在页面上不能显示,急急急,在线等,求大神帮忙!!!!! java 上传图片到服务器上,图片上传成功,但是在页面展示时不能加载,路径没问题,手动将上传的图片改个名字后能正常加载 解决方案 最终的上传路径有没有特殊字符或者空格啥的,最好不要带特殊字符包括空格啥的. 解决方案二: 图片在内网服务器上A,部署在服务器B的应用要显示图片,受网络限制外网用户无法访问到图片,为了解决这个问题现将图片下载到服务器B上,现在服务器B上存在图片,但是不能正常加载,通过手动地对

界面-java 简易计算器,最后得数不能出现,求大神帮忙

问题描述 java 简易计算器,最后得数不能出现,求大神帮忙 (1)编写一个简易计算器程序,其界面如下图所示: (2)当按下"+"按钮时,两个数值文本框之间应显示"+"号,同时相加结果显示在第三个文本框内(如下图所示).类似处理"-"."*"和"/"按钮. 现在第二步能够出现加号 就是不能正确运算.如下代码,注释的地方为什么不能运行,该怎么做才能做到当按下加的按钮b1时,同时出现加号和得数?这里的tf和tf

编程语言-java编程,读取jar文件的属性,编到一半就进行不下去了,求大神帮忙

问题描述 java编程,读取jar文件的属性,编到一半就进行不下去了,求大神帮忙 package cksj; import java.awt.*; import java.awt.event.*; import javax.swing.*; import java.io.*; public class JAR extends JFrame{ JFileChooser j=new JFileChooser();//文件选择器 JPanel p1=new JPanel(); JPanel p2=ne

java小白试着分析了一下这个代码。求大神帮忙看一下正不正确;代码如下:

问题描述 java小白试着分析了一下这个代码.求大神帮忙看一下正不正确:代码如下: public class Test{ private static int i = 0; private static int j = 0; public static void main(String[] args) { int i = 2;//i之所以是2 而不是0 是因为 就近原则 int k = 3; { int j = 3; System.out.println("i+j ist"+i+&qu