我正在编写一个GUI应用程序.
应用程序在其生命周期内打开多个线程.其中一个线程正在处理可能来自其他应用程序的事件,因此它会在一段时间(真实)循环中等待从未终止的事件.
用户可以在任何时候关闭应用程序.我想关闭主应用程序打开的所有线程.
我正在使用Process.GetCurrentProcess().Kill(); 目前处理这个问题.
这是一个好的解决方案吗?如果没有,为什么以及什么是处理这个问题的正确方法,如何关闭主应用程序打开的所有线程?
所以,问题或多或少都像我写的那样.我知道它可能根本不清楚所以我会举一个例子.
我有类Tree,其中有Node类,而Tree的空构造函数是:
public class RBTree {
private RBNode head;
public RBTree(RBNode head,RBTree leftT,RBTree rightT){
this.head=head;
this.head.leftT.head.father = head;
this.head.rightT.head.father = head;
}
public RBTree(RBNode head){
this(head,new RBTree(),new RBTree());
}
public RBTree(){
this(new RBNode(),null,null);
}
public class RBNode{
private int value;
private boolean isBlack;
private RBNode father;
private RBTree leftT;
private RBTree rightT;
}
}
Run Code Online (Sandbox Code Playgroud)
Eclipse给出了错误:"由于一些中间构造函数调用,没有封闭的RBTree实例可用于"空构造函数中的"新RBTree()".但是,如果我将RBNode更改为静态类,则没有问题.
那么为什么当类是静态的时它才起作用.
顺便说一下,我找到了一个简单的解决方案:
public RBTree(){
this.head = new RBNode();
}
Run Code Online (Sandbox Code Playgroud)
所以,我不知道第一段代码中的问题是什么.
我正在考虑用Java实现一个应用程序(使用GWT GUI),其中的选项将能够播放YouTube视频和音频,或者至少只播放音频.
问题是我似乎无法找到任何启用它的API或源代码.我想要的是,给定YouTube中视频的URL,可以使用Java播放它.
我正在用C#开发一个GUI应用程序.
它是一个多线程应用程序,我想NetClient.StartDownload
用try
/ catch
语句包装所有线程(其中一些我不打开,例如哪个是无阻塞函数),这样如果抛出异常并且未被捕获,我可以记录它并报告基地.
我尝试使用Application.ThreadException
和AppDomain.CurrentDomain.UnhandledException
,但它们似乎只捕获GUI异常.
我需要采用不同的方式处理这个问题吗?
当我在Zend_framework(php)上开发Web应用程序时,我必须包含图像(css文件,js文件等).
包含的解决方案是每次我需要一个图像时指定绝对路径(我在主机中存储"global like"参数,并将其与主机上图像的相对路径连接起来).据我所知,这个解决方案价格过高(每个图片去DNS服务等等),我正在寻找一个更简单的解决相对路径问题的方法.
PS问题可以在下面的例子中更好地描述:当我要去" http://myhost.com/ "时,图像将正常显示(图像路径为:"./ images/logo.jpg").但它不会从" http://myhost.com/users/"url中看到(为了让它看到我必须更改为图像路径:"./../ images/LOGo.jpg".
我有人知道如何解决这个问题,我很高兴听到.
戈列利克.