我是一个总节点.刚刚开始修补它的新手.我有一段代码执行一个处理所有cpu核心上的字符串的函数,我希望确定哪个worker首先通过它的id完成了该函数,然后杀死每个worker(或者只是退出节点).
这是我的程序的简化代码:
var cluster = require('cluster'),
cpus = require("os").cpus().length, // 4 cores
myArray = ["foo","bar","baz","qux"]; // 1 string per core
if (cluster.isMaster) {
for (var i = 0; i < cpus; i++) {
var worker = cluster.fork();
}
cluster.on('exit', function(worker, code, signal) {
console.log('worker ' + worker.process.pid + ' died');
});
} else if (cluster.isWorker) {
computeString(myArray[cluster.worker.id]);
}
function computeString() {
// Code to compute...
}
Run Code Online (Sandbox Code Playgroud)
这段代码有效,而computeString()函数的完成速度比在外部执行它要快得多
else if (cluster.isWorker) {}
Run Code Online (Sandbox Code Playgroud)
所以问题是在一个工作者/进程完成该功能之后,节点等待直到每个进程完成了他们的工作并且在这些进程之后没有终止,每个进程都保持空闲直到我按下ctrl + c.
我的方法是:
function computeString() {
// Code …Run Code Online (Sandbox Code Playgroud) 我有一些奇怪的问题,我无法解决.我有一个Android应用程序,可以登录Google.该应用程序遵循MVP模式并使用片段而不是活动.登录部分来自此处:https: //developers.google.com/identity/sign-in/android/
它一切正常,直到我尝试通过点击它以外的方式关闭登录对话框(您选择用户).我认为它应该给我一个状态代码12501(SIGN_IN_CANCELLED),但我得到代码13(错误).我的假设错了吗?我应该忽略代码13,如果发生错误,不向用户显示任何错误吗?
以下是最相关的代码
活动:
public class SignInActivity extends AppCompatActivity implements SignInFragment.SignInListener {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_sign_in);
// Add sign in fragment
mSignInFragment = new SignInFragment();
FragmentManager fragmentManager = getSupportFragmentManager();
fragmentManager
.beginTransaction()
.replace(R.id.sign_in_frame, mSignInFragment, TAG)
.commit();
}
@Override
public void startSignIn() {
Intent signInIntent = mSignInFragment.getGoogleSignInClient().getSignInIntent();
startActivityForResult(signInIntent, RC_SIGN_IN);
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == RC_SIGN_IN) {
Task<GoogleSignInAccount> task = GoogleSignIn.getSignedInAccountFromIntent(data);
mSignInFragment.handleSignInResult(task);
}
} …Run Code Online (Sandbox Code Playgroud) 我正在使用C#创建一个程序,它可以绘制多边形并将其数据保存在JS文件中,以便稍后在Javascript应用程序中使用.我已将保存保存到文件部分,现在我需要加载数据.数据存储在单个字符串中,如下所示:
var polys = [
[{x:0, y:0},{x:2,y:0}, {x:2,y:2}],
[{x:4, y:4},{x:8,y:4}, {x:8,y:8}, {x:1,y:1}]
];
Run Code Online (Sandbox Code Playgroud)
在文件中没有换行符或空格.从该字符串中获取所有内部数组并将它们转换为单独的C#数组的最佳方法是什么?
Point[] points = new Point[someAmount];
Run Code Online (Sandbox Code Playgroud)
我应该尝试使用正则表达式以某种方式解析字符串,还是在C#中有任何内置方法?
如果我有一个JavaScript数组:
a = ["12", "34", "56", "78"];
Run Code Online (Sandbox Code Playgroud)
我想制作一个像这样的新2D数组:
b = [ ["12345678"], ["34567812"], ["56781234"], ["78123456"] ];
Run Code Online (Sandbox Code Playgroud)
我知道这应该很简单,但我无法弄明白......今天我的大脑有点慢......:/
在Javascript中,我可以创建一个返回对象的函数:
function person() {
return { name: "John Doe", age: 20, isMarried: false };
}
console.log("Name: "+ person().name +". Age: "+ person().age +". Is married: "+ person().isMarried);
OUTPUT:
> "Name: John Doe. Age: 20. Is Married: false"
Run Code Online (Sandbox Code Playgroud)
我想知道是否可以在C#中做这样的事情?我一直在阅读有关代表,词典和匿名方法的内容,但我仍然不知道这一点.