问题列表 - 第23062页

如何暂停main()直到所有其他线程都死掉?

在我的程序中,我在main()方法中创建了几个线程.main方法的最后一行是对System.out.println()的调用,在所有线程都死之前我不想调用它.我已经尝试在每个线程上调用Thread.join()但是阻塞每个线程以便它们顺序执行而不是并行执行.

有没有办法阻止main()线程,直到所有其他线程完成执行?这是我的代码的相关部分:

public static void main(String[] args) {

//some other initialization code

//Make array of Thread objects
Thread[] racecars = new Thread[numberOfRaceCars];

//Fill array with RaceCar objects
for(int i=0; i<numberOfRaceCars; i++) {
    racecars[i] = new RaceCar(laps, args[i]);
}

//Call start() on each Thread
for(int i=0; i<numberOfRaceCars; i++) {
    racecars[i].start();
    try {
        racecars[i].join(); //This is where I tried to using join()
                            //It just blocks all other threads until the current                            
                            //thread finishes.
    } catch(InterruptedException e) {
        e.printStackTrace();
    }
}

//This is …
Run Code Online (Sandbox Code Playgroud)

java multithreading

23
推荐指数
2
解决办法
4万
查看次数

javascript - 捕获SyntaxError并运行备用函数

我正在尝试在javascript上构建一些东西,我可以输入一些像string,xml,javascript和(没有引号的非javascript字符串),如下所示:

//strings
    eval("'hello I am a string'"); /* note the following proper quote marks */

//xml
    eval(<p>Hello I am a XML doc</p>);

//javascript
    eval("var hello = 2+2;");
Run Code Online (Sandbox Code Playgroud)

因此,前3个版本运行良好,因为它们是简单的javascript原生格式

但是当我尝试在javascript中使用它时

//plain-text without quotes
    eval("hello I am a plain text without quotes");
    //--SyntaxError: missing ; before statement:--//
Run Code Online (Sandbox Code Playgroud)

显然javascript将此解释为语法错误,因为它认为它的javascript抛出了一个SyntaxError.

所以我想做的是抓住这个错误并在发生这种情况时执行调整方法.

我已经尝试过try catch但它不起作用,因为它一旦尝试执行代码就会一直返回语法错误.

任何帮助将非常感激

干杯:)

附加信息:想象一下javascript将使用spidermonkey读取的外部文件,因此它是非浏览器的东西(我不能使用HttpRequest,DOM等...)..不确定这是否重要,但确实如此.:)

javascript quotes try-catch spidermonkey syntax-error

13
推荐指数
1
解决办法
1万
查看次数

如何用新行替换所有XHTML/HTML换行符(<br>)?

我正在寻找最好的br2nl功能.我想更换的所有实例<br>,并<br />用换行\n.很像nl2br()函数,但相反.

我知道PHP手册评论中有几个解决方案,但我正在寻找SO社区对可能解决方案的反馈.

php regex newline

38
推荐指数
2
解决办法
3万
查看次数

如何在gvim中运行命令(外部)

我正在准备编写许多小型实验性Java程序,因为我正在学习java认证.因为我想避免使用IDE,所以我试试gvim.

我打开了一个HelloWorld.java文件.如何运行javac然后java能够在一个窗口中查看输出?

我不想将选项卡添加到dos提示窗口.在那里编译/运行程序,然后回到我的编辑器.

java vim

1
推荐指数
1
解决办法
1751
查看次数

Linq To SQL - 指定的强制转换无效 - SingleOrDefault()

我正在尝试做以下事情......

Request request = (
     from r in db.Requests 
     where r.Status == "Processing" && r.Locked == false 
     select r
).SingleOrDefault();
Run Code Online (Sandbox Code Playgroud)

抛出以下异常......

Message:
Specified cast is not valid.

StackTrace:
   at System.Data.Linq.SqlClient.SqlProvider.Execute(Expression query, QueryInfo queryInfo, IObjectReaderFactory factory, Object[] parentArgs, Object[] userArgs, ICompiledSubQuery[] subQueries, Object lastResult)
   at System.Data.Linq.SqlClient.SqlProvider.ExecuteAll(Expression query, QueryInfo[] queryInfos, IObjectReaderFactory factory, Object[] userArguments, ICompiledSubQuery[] subQueries)
   at System.Data.Linq.SqlClient.SqlProvider.System.Data.Linq.Provider.IProvider.Execute(Expression query)
   at System.Data.Linq.DataQuery`1.System.Linq.IQueryProvider.Execute[S](Expression expression)
   at System.Linq.Queryable.SingleOrDefault[TSource](IQueryable`1 source)
   at GDRequestProcessor.Worker.GetNextRequest()
Run Code Online (Sandbox Code Playgroud)

谁能帮我?提前致谢!


架构细节可以在下面找到...

[Table(Name="dbo.Requests")]
public partial class Request : INotifyPropertyChanging, INotifyPropertyChanged
{

    private static PropertyChangingEventArgs emptyChangingEventArgs …
Run Code Online (Sandbox Code Playgroud)

linq linq-to-sql

5
推荐指数
2
解决办法
8581
查看次数

为什么Perl会抱怨"对@_使用隐式拆分"?

此代码触发以下投诉:

#!/usr/bin/perl 
use strict;
use warnings;

my $s = "aaa bbb";
my $num_of_item = split(/\s+/, $s) ;
print $num_of_item;
Run Code Online (Sandbox Code Playgroud)

当我运行代码时,Perl抱怨" Use of implicit split to @_ is deprecated".我真的没有问题的"背景",所以我希望你能帮助解释代码的错误.

perl

26
推荐指数
3
解决办法
2万
查看次数

基于模板参数的C++动态调度仿真

为了这个问题,这被大大简化了.说我有一个层次结构:

struct Base {
    virtual int precision() const = 0;
};

template<int Precision>
struct Derived : public Base {

    typedef Traits<Precision>::Type Type;

    Derived(Type data) : value(data) {}
    virtual int precision() const { return Precision; }

    Type value;

};
Run Code Online (Sandbox Code Playgroud)

我想要一个带有签名的非模板函数:

Base* function(const Base& a, const Base& b);
Run Code Online (Sandbox Code Playgroud)

函数结果的具体类型与任何一个类型相同ab具有更大的类型Precision; 像下面的伪代码:

Base* function(const Base& a, const Base& b) {

    if (a.precision() > b.precision())

        return new A( ((A&)a).value + A(b.value).value );

    else if (a.precision() < b.precision()) …
Run Code Online (Sandbox Code Playgroud)

c++ polymorphism rtti dynamic-dispatch

5
推荐指数
1
解决办法
2828
查看次数

有没有办法将主键上的非聚集索引转换为聚簇索引?(SQL Server 2008)

使用Management Studio,我无法更改索引.删除它不起作用,因为它被用作许多其他表中的外键.我可以以某种方式改变它吗?或者你会怎么做?

sql-server sql-server-2008

13
推荐指数
2
解决办法
1万
查看次数

405 WCF中的方法不允许错误

有人能发现这个实现的问题吗?我可以在浏览器中打开它并且它可以工作,但是来自客户端的调用(同时使用jquery和asp.net ajax失败)

服务合约

[OperationContract(Name = "GetTestString")]
[WebInvoke(Method = "GET",
           ResponseFormat = WebMessageFormat.Json
   )]
string GetTestString();
Run Code Online (Sandbox Code Playgroud)

在Web.config和其他绑定之间,我有一个webHttp绑定

<endpoint address="ajax" binding="webHttpBinding" contract="TestService" behaviorConfiguration="AjaxBehavior" />
Run Code Online (Sandbox Code Playgroud)

终点行为

  <endpointBehaviors>
    <behavior name="AjaxBehavior">
      <enableWebScript/>
    </behavior>
  </endpointBehaviors>
</behaviors>
Run Code Online (Sandbox Code Playgroud)

Svc文件

<%@ ServiceHost Service="TestService" %>
Run Code Online (Sandbox Code Playgroud)

客户

var serviceUrl = "http://127.0.0.1/Test.svc/ajax/";
var proxy = new ServiceProxy(serviceUrl);
Run Code Online (Sandbox Code Playgroud)

我正在使用http://www.west-wind.com/weblog/posts/324917.aspx中的方法 来调用该服务

asp.net wcf

4
推荐指数
1
解决办法
2万
查看次数

选择字符串和区分大小写

我试图过滤具有标题字段的对象,我想忽略大小写.如果关闭,有没有办法确保区分大小写?

| Where-Object {$_.Title -like "myString"}
Run Code Online (Sandbox Code Playgroud)

powershell

34
推荐指数
2
解决办法
8万
查看次数