Моя исследовательская работа включает работу над компиляторами и над фильтрацией спама. Я также делаю большую 'персональную производительность' материал Unix. Плюс я пишу и использую программное обеспечение для администрирования классов, которые я преподаю, который включает классификацию, тестируя студенческий код, отслеживая классы и несметное число другие мелочи.
Сводка (который я получил известие от основного докладчика, который работает на ведущего производителя ЦП): промышленность отступила в многоядерный, потому что они не могли продолжать делать машины выполненными быстрее и более горячий, и они не знали, что сделать с дополнительными транзисторами. Теперь они отчаянно пытаются находить способ сделать многоядерным прибыльный, потому что, если у них нет прибыли, они не могут создать следующее поколение потрясающих строк. Поезд соуса закончен, и нам, возможно, на самом деле придется запустить уделение внимания затратам на программное обеспечение.
Многие люди, которые серьезно относятся к параллелизму, игнорируют эти игрушечные или даже машины с 32 ядрами с 4 ядрами в пользу GPU с 128 процессорами или больше. Мое предположение - то, что реальное действие будет там.
Ему, вероятно, нужен код Java, поскольку он работает над Android. Эквивалент Java, который, как мне кажется, работает на Android, должен быть:
InetAddress.getByName(host).isReachable(timeOut)
Вы работаете с HTTP? Затем вы можете установить тайм-аут для вашего HTTP-соединения, как таковой:
private void setupHttpClient() {
BasicHttpParams httpParams = new BasicHttpParams();
ConnManagerParams.setTimeout(httpParams, CONNECTION_TIMEOUT);
//...
ThreadSafeClientConnManager cm = new ThreadSafeClientConnManager(
httpParams, schemeRegistry);
this.httpClient = new DefaultHttpClient(cm, httpParams);
}
Если вы затем выполните запрос, вы получите исключение по истечении заданного тайм-аута.
О, нет, нет, код на Java не работает: InetAddress.getByName ("fr.yahoo.com"). IsReachable (200), хотя в LogCat я видел его IP-адрес (то же самое с 20000 мсек. тайм-аут).
Кажется, что использовать команду ping удобно, например:
Runtime runtime = Runtime.getRuntime(); Process proc = runtime.exec("ping fr.yahoo.com -c 1"); // other servers, for example proc.waitFor(); int exit = proc.exitValue(); if (exit == 0) { // normal exit /* get output content of executing the ping command and parse it * to decide if the server is reachable */ } else { // abnormal exit, so decide that the server is not reachable ... }