Это может помочь вам ...
private void loggedInToMainPage(final String emailName, final String passwordName) {
String tag_string_req = "req_login";
StringRequest stringRequest = new StringRequest(Request.Method.POST, "http://localhost/index", new Response.Listener<String>() {
@Override
public void onResponse(String response) {
Log.d(TAG, "Login Response: " + response.toString());
try {
JSONObject jsonObject = new JSONObject(response);
Boolean error = jsonObject.getBoolean("error");
if (!error) {
String uid = jsonObject.getString("uid");
JSONObject user = jsonObject.getJSONObject("user");
String email = user.getString("email");
String password = user.getString("password");
session.setLogin(true);
Intent intent = new Intent(getApplicationContext(), MainActivity.class);
startActivity(intent);
finish();
Toast.makeText(getApplicationContext(), "its ok", Toast.LENGTH_SHORT).show();
}
} catch (JSONException e) {
e.printStackTrace();
}
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError volleyError) {
System.out.println("volley Error .................");
}
}) {
@Override
protected Map<String, String> getParams() throws AuthFailureError {
Map<String, String> params = new HashMap<String, String>();
params.put("tag", "login");
params.put("email", emailName);
params.put("password", passwordName);
return params;
}
};
MyApplication.getInstance().addToRequestQueue(stringRequest,tag_string_req);
}
На языке событий, управляемых событиями. например, SystemVerilog, время является глобальным значением, разделяемым всеми процессами. Вы не можете установить его - вы можете наблюдать только его текущее значение.
Как работает управляемое событиями моделирование, оно работает в цикле, обрабатывая очередь событий в текущий момент времени, пока очередь не станет пустой. Только тогда он переходит к следующему запланированному событию в будущем. Так что вы можете сделать так, чтобы блок процесса ожидал какое-то время в будущем.
SystemVerilog не предоставляет способа планирования чего-либо на определенное время, но если вы наблюдаете текущее время, вы можете вычесть это время из времени в будущем, которое вы хотите, - блок для этого количества времени.
Поскольку ваши транзакции не перекрываются, вы можете прочитать файл по одной строке за один раз и подождать указанное время. Вы читаете первую строку в момент времени 0 и ждете 1- $ в реальном времени. Затем выполните транзакцию. Когда это будет сделано, вы читаете вторую строку и ждете 5- $ реального времени. Это можно сделать в цикле, пока не достигнет конца файла.