public static void main(String[] args) {
String[] urls = new String[]{"http://www.dmoz.org/", "http://www.dmoz.org/Computers/Computer_Science/","https://docs.oracle.com/en/"};
// Create and start workers
List workers = new ArrayList<>(urls.length);
for (String url : urls) {
Worker w = new Worker(url);
workers.add(w);
new Thread(w).start();
}
// Retrieve results
for (Worker w : workers) {
Elements results = w.waitForResults();
if (results != null)
System.out.println(w.getName()+": "+results.size());
else
System.err.println(w.getName()+" had some error!"); }
}
}
class Worker implements Runnable {
private String url;
private Elements results;
private String name;
private static int number = 0;
private final Object lock = new Object();
public Worker(String url)
{
this.url = url;
this.name = "Worker-" + (number++);
}
public String getName()
{
return name;
}
@Override
public void run() {
try {
Document doc = Jsoup.connect(this.url).get();
Elements links = doc.select("a");
// Update results
synchronized (lock) {
this.results = links;
lock.notifyAll();
}
} catch (IOException e) {
// You should implement a better error handling code..
System.err.println("Error while parsing: "+this.url);
e.printStackTrace();
}
}
public Elements waitForResults() {
synchronized (lock) {
try {
while (this.results == null) {
lock.wait();
}
return this.results;
} catch (InterruptedException e)
{
// Again better error handling
e.printStackTrace();
}
return null;
}
}
2017년 8월 29일 화요일
jsoup url 3times
jsoup java 샘플 소스
text base network monitor tools
text base network monitor tools
nload
iftop
iptraf
nethogs
bmon
tcptrack
speedometer
pktstat
netwatch
trafshow
2017년 8월 28일 월요일
뒤로가기 두번 나가기
public
boolean
onKeyDown(
int
keyCode, KeyEvent event){
switch
(keyCode){
case
KeyEvent.KEYCODE_BACK:
String alertTitle =
"Auto Scheduler"
;
String buttonMessage =
"어플을 종료하시겠습니까?"
;
String buttonYes =
"Yes"
;
String buttonNo =
"No"
;
new
AlertDialog.Builder(majSelectActivity.
this
)
.setTitle(alertTitle)
.setMessage(buttonMessage)
.setPositiveButton(buttonYes,
new
DialogInterface.OnClickListener() {
@Override
public
void
onClick(DialogInterface dialog,
int
which) {
// TODO Auto-generated method stub
moveTaskToBack(
true
);
finish();
}
})
.setNegativeButton(buttonNo,
null
)
.show();
}
return
true
;
}
출처: http://twinw.tistory.com/33 [흰고래의꿈]
피드 구독하기:
글 (Atom)
-
Rosewell 사건의 유일한 생존자인 외계인 Airl에 관한 이야기를 전해 드리고자 합니다. 이책은 우리에게 정말 귀한 정보 와 통찰력을 주며, 왜 이렇게 삶이란 것이 깊은 고뇌를 동반하는 것인 과정인지 근본적인 대답을 해주며, 죽는다는 것이 어렵...
-
呵呵大笑(가가대소) : 우스워서 소리를 크게 내어 웃음 家家戶戶(가가호호) : 집집마다 家鷄野雉(가계야치) : 집안에서 기르는 닭과 산의 꿩이란 뜻 자기 것은 하찮게 여기고 남의 것만 좋게 여김을 비유 可高可下(가고가하) : 어진 사람은 지위...
-
스타크래프트 맵 무한 미네랄 만드는 방법입니다. 앱 에디터 다운로드는 다음 글. [동마산 오락실/· 고전·기타] - 스타크래프트 맵 에디터 다운로드 / 2021년 ▲ 맵에디터에서 맵을 불러옵니다. ▲ 파일 선택 ▲ 왼쪽 메뉴에서 미네랄을...