我正在阅读'使用Java操作系统概念'.我对阻塞和同步的概念很困惑,它们之间有什么区别?
我想定义一个计算新依赖项的模块,获取它然后返回结果.像这样:
define(['defaults', 'get_config_name'], function(defaults, get_config_name) {
var name = get_config_name();
var config;
require.synchronous([configs / '+name'], function(a) {
config = defaults.extend(a);
});
return config;
});
Run Code Online (Sandbox Code Playgroud)
有没有办法做到这一点或更好的方法来解决这个问题?
我有一个同步执行路径,需要在给定的时间范围内完成或超时.假设我有一个带有main()方法的类,其中我调用方法A(),后者又调用B(),然后调用相同或不同类的C().....所有同步而不使用一个外部资源,如数据库,Web服务或文件系统(其中每个都可以使用TxManager或相应的超时api独立超时).所以它更像是CPU或内存密集型计算.如何在Java中编写它的超时代码?
我已经看过TimerTask,但更多的是使流异步和调度任务.还有其他建议吗?
我有一个Javascript对象,需要2次调用外部服务器来构建其内容并执行任何有意义的操作.构建对象使得实例化它的实例将自动进行这两个调用.2个调用共享一个公共回调函数,该函数对返回的数据进行操作,然后调用另一个方法.问题是在两个方法都返回之前不应调用下一个方法.这是我目前实现的代码:
foo.bar.Object = function() {
this.currentCallbacks = 0;
this.expectedCallbacks = 2;
this.function1 = function() {
// do stuff
var me = this;
foo.bar.sendRequest(new RequestObject, function(resp) {
me.commonCallback(resp);
});
};
this.function2 = function() {
// do stuff
var me = this;
foo.bar.sendRequest(new RequestObject, function(resp) {
me.commonCallback(resp);
});
};
this.commonCallback = function(resp) {
this.currentCallbacks++;
// do stuff
if (this.currentCallbacks == this.expectedCallbacks) {
// call new method
}
};
this.function1();
this.function2();
}
Run Code Online (Sandbox Code Playgroud)
正如您所看到的,我强制对象在两个调用返回之后继续使用一个简单的计数器来验证它们都已返回.这可行,但似乎是一个非常差的实现.我现在只使用Javascript几周了,我想知道是否有更好的方法来做同样的事情,我还没有偶然发现.
感谢您的帮助.
在许多情况下,我希望动画同步执行.特别是当我想制作一系列连续动画时.
有一种简单的方法可以使jQuery animate函数调用同步吗?
我想到的唯一方法是在动画结束时将标志设置为true并等待此标志.
我试图理解术语同步和异步通信,但我有点困惑.我试图深入研究这一点,但仍然存在混淆.我的问题如下:
1.同步和异步通信如何工作?还参考上面提到的用于异步通信的信号是什么.
2.同步和异步过程如何工作?
任何说明这一点的例子都会有所帮助.
如果这是一个非常简单的问题,请道歉.我是编程新手.希望你的答案能帮助我.提前致谢!!!!
如果异步线程是一个与主线程分开操作并且不干扰主线程的线程...
新的一个Activity线程在启动后是否占用主线程startActivity(intent)?
我读过的大部分内容都说这些都是异步的,但是有一些相互矛盾的答案,并且那些说这并不能给出令人信服的论据的人.
因此,如果有任何人清楚地知道他们为什么是同步/异步,那么我将是一个非常感激的人!
干杯
编辑:所以答案我从这两个好民谣和一些东西在线...
将活动纳入同步/异步的混合可能会导致马的负荷.但它仍然指的是...的原则
Synchronous 必须在调用堆栈继续之前完成方法/命令.
Asynchronous方法/命令(通常在线程/ AsyncTask中完成)并行继续,允许主线程执行继续.(它可以在自己的时间返回)
该startActivity(intent)和startActivityForResult(intent)方法是异步的,因为它们是非阻塞,并允许执行的线程继续执行,而其相应的任务也是如此.
multithreading android asynchronous synchronous android-activity
如何使ajax请求同步?
我有一张需要提交的表格.但只有在用户输入正确的密码时才需要提交.
这是表单代码:
<form name="form" action="insert.php" method="post" onSubmit="return ajaxSubmit(this);" >
Run Code Online (Sandbox Code Playgroud)
用于发送和检查密码的jquery代码如下:
var ajaxSubmit = function(formE1) {
var password = $.trim($('#employee_password').val());
$.ajax({
type: "POST",
async: "false",
url: "checkpass.php",
data: "password="+password,
success: function(html) {
var arr=$.parseJSON(html);
if(arr == "Successful") {
return true;
} else {
return false;
}
}
});
}
Run Code Online (Sandbox Code Playgroud)
但是,无论ajax请求返回的值如何,表单始终都会提交.我检查了其他一切.当输入正确的密码时,arr的值将变为"成功",反之亦然.
如何使此请求同步?就我可以调试而言,请求是异步的,因此在请求完成之前提交表单.
checkpass.php的代码
<?php
require("includes/apptop.php");
require("classes/class_employee.php");
require("classes/class_employee_attendance.php");
$employee_password=$_POST['password'];
$m=new employee();
$m->setbyid_employee(1);
$arr=$m->editdisplay_employee();
if($arr['employee_password'] == $employee_password)
{
$res="Successful";
}
else
{
$res="Password not match";
}
echo $res;
?>
Run Code Online (Sandbox Code Playgroud)
更新:已找到解决方案.
正如Olaf Dietshche指出的那样:返回值ajaxSubmit …
谁能告诉我如何与https服务器进行同步调用?我可以使用以下委托方法在https服务器上执行异步请求.
- (BOOL)connection:(NSURLConnection *)connection canAuthenticateAgainstProtectionSpace:(NSURLProtectionSpace *)protectionSpace
Run Code Online (Sandbox Code Playgroud)
和
- (void)connection:(NSURLConnection *)connection didReceiveAuthenticationChallenge:(NSURLAuthenticationChallenge *)challenge
Run Code Online (Sandbox Code Playgroud)
但我需要做同步.
据我所知,同步和异步操作之间的主要区别.即write()或read()VS async_write()并且async_read()是前者,不返回,直到操作完成-或无差错,以及最后的,立即返回.
由于异步操作由一个io_service.run()在受控操作完成之前未完成的操作控制.在我看来,顺序操作中涉及与POP3等协议的TCP/IP连接,其中操作是如下序列:
C: <connect>
S: Ok.
C: User...
S: Ok.
C: Password
S: Ok.
C: Command
S: answer
C: Command
S: answer
...
C: bye
S: <close>
Run Code Online (Sandbox Code Playgroud)
同步/异步运算符之间的区别没有多大意义.
当然,在这两种操作中,总是存在程序流程在某些情况下无限期停止的风险 - 使用计时器 - 但我想知道一些更多的授权意见.
我必须承认这个问题定义不明确,但我想听听一些关于何时使用其中一个的建议.我在使用MS Visual Studio调试关于我正在使用的POP3客户端中的异步SSL操作时遇到了问题,有时候认为在这个问题上使用异步可能是个坏主意.
synchronous ×10
asynchronous ×5
jquery ×2
ajax ×1
android ×1
blocking ×1
boost-asio ×1
c ×1
c++ ×1
callback ×1
import ×1
io ×1
iphone ×1
java ×1
javascript ×1
module ×1
requirejs ×1
tcp ×1
timeout ×1