Click on the download:Learn to manage projects with fewer problems

Project management is everywhere. It is not only a post, but also a set of scientific working methods, which can guide our work and life very well. However, many developers lack awareness and skills in project management, adding many additional obstacles to their work, not only project progress is not expected, but also personal career development is limited. This course will take you to learn systematic project management, so that you can do development or PM, with ease!

The technology is suitable for the crowd. The requirements are fresh graduates, on-the-job developers who want to transition to project management, and anyone interested in project management. The skills required are able to use Office, download and install software

import java.io.IOException;

import java.net.InetAddress;

import java.net.UnknownHostException;

/ * *

* Created by QiuJU

* on 2014/9/21.

* /

public class SimplePing implements Runnable {

private final Object mEndLock = new Object();

private boolean IsEnd = false;

private int arrivedCount = 0;

private int Count;

private int TimeOut;

private String Name;

private int mEndCount;

private String mIp = null;

private float mLo***ate = 1f;

private float mDelay = 0;

public SimplePing(String name, int count, int timeOut) {

Count = mEndCount = count;

TimeOut = timeOut;

Name = name;

for (int i = 0; i < mEndCount; i++) {

Thread thread = new Thread(this);

thread.setDaemon(true);

thread.start();

}

if (! IsEnd) {

try {

synchronized (mEndLock) {

mEndLock.wait();

}

} catch (InterruptedException e) {

e.printStackTrace();

}

}

}

private void setEnd(boolean isArrived, long delay, String ip) {

synchronized (mEndLock) {

Count–;

if (isArrived) {

arrivedCount++;

mDelay = (mDelay + delay) / 2f;

if (ip ! = null)

mIp = ip;

}

}

if (Count == 0)

setEnd();

}

private void setEnd() {

mLo***ate = (mEndCount – arrivedCount) / mEndCount;

IsEnd = true;

synchronized (mEndLock) {

mEndLock.notifyAll();

}

}

@Override

public void run() {

long delay = 0;

boolean isArrived = false;

String ip = null;

try {

long startTime = System.currentTimeMillis();

InetAddress address = InetAddress.getByName(Name);

isArrived = address.isReachable(TimeOut);

delay = System.currentTimeMillis() – startTime;

ip = address.getHostAddress();

} catch (UnknownHostException e) {

e.printStackTrace();

} catch (IOException e) {

e.printStackTrace();

} catch (Exception e) {

e.printStackTrace();

} finally {

setEnd(isArrived, delay, ip);

}

}

public String getIp() {

return mIp;

}

public float getLo***ate() {

return mLo***ate;

}

public float getDelay() {

return mDelay;

}

public boolean getIsSucceed() {

return arrivedCount > 0;

}

}

In class we use: 1

2

3

4

5

long startTime = System.currentTimeMillis();

InetAddress address = InetAddress.getByName(Name);

isArrived = address.isReachable(TimeOut);

delay = System.currentTimeMillis() – startTime;

ip = address.getHostAddress();