标签: synchronize

如何同步java代码

我有下一个代码:

Process p = Runtime.getRuntime().exec(args);
Run Code Online (Sandbox Code Playgroud)

我希望我的程序等待Runtime.getRuntime().exec(args); 完成导致它持续2-3秒,然后继续.

想法?

java runtime synchronize

4
推荐指数
2
解决办法
3992
查看次数

使用lftp将本地文件夹与ftp文件夹同步的语法?

我想将两个文件夹相互同步.它应该有两种方式,始终保持文件夹最新(我使用常规cronjob).但是,首先我没有让双向文件传输工作(它只是从ftp下载而不是相反).

其次,它下载从ftp的全部内容,即使登录信息已经建立的FTP,这样的访问只限于特定的文件夹.为什么??

这是代码(提前谢谢!):

#!/bin/bash

#get username and password
USER=username
PASS=password

HOST="myftpserver.com/users/user1/" #here I have tried with only specifying server name as well as including whole path
LCD="~/Desktop/localfolder/"
RCD="users/user1/"

lftp -c "set ftp:list-options -a;
open ftp://$USER:$PASS@$HOST; 
lcd $LCD;
mirror -c --reverse --verbose $LCD $RCD" #I have tried a few different options w/o result
Run Code Online (Sandbox Code Playgroud)

linux ftp sync synchronize

4
推荐指数
1
解决办法
8178
查看次数

Java在对象上同步

我有一个很大的问题要问你.如何从同一个类同步两个不同的方法以锁定同一个对象?这是一个例子:

public class MyClass extends Thread implements Observer{
  public List<AnotherClass> myList = null;

  public MyClass(List<AnotherClass> myList){
    this.myList = myList;
  }

  public void run(){
    while(true){
       //Do some stuff 
       myList.add(NotImportantElement);
    }
  }

  public void doJob{
    for(int i=0; i<myList.size; i++){
      ElementClass x = myList.get(i);
      //Do some more stuff
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

问题是如何在执行doJob时停止run()访问myList,反之亦然?

想象一下:我启动线程并开始向列表中添加元素.在一个随机的时刻,我从另一个持有对我的线程的引用的类调用doJob().

我应该怎么做锁?谢谢!

LE

好吧,我理解锁的概念,但现在我有另一个问题.

假设我有一个类,public static myList并且只有该类的一个实例.从那个实例开始,我创建了一个n实例Thread来获取该列表的每个元素并用它做一些事情.

现在,在特定时刻,myList更新.那些已经在处理myList元素的线程会发生什么?myList在更新时如何锁定访问权限?

java methods locking synchronize

4
推荐指数
2
解决办法
3445
查看次数

Delphi线程化:在其方法中使用Synchronize时,CriticalSection不会被"释放"

在我的项目中,我有一个线程可能被线程本身,其他线程或VCL(主应用程序)修改.因此,我正在使用TCriticalSection.Acquire/Release进行每次数据访问.

在正常情况下,下面的代码按预期工作:输入Acquire,与DoCallback同步,然后释放锁.但是,如果任何其他上下文在锁定时获取锁定,则以下代码的执行在Synchronize处停止 - 此时,它不会进入DoCallback方法.

我应该跳过Synchronize方法(即使Synchronize'd代码调用VCL)并依赖于CriticalSection本身吗?这种行为的原因是什么?

主线程的代码:

  fData:= nil;
  try
    fSingleRequest.Acquire;      
    if fItem <> nil then
      begin
        fData:= fItem.Request;
        SubmitRequest();
        fCallbackData:= fItem.fExtraData;
        fCallback:= fItem.fCallback;
        Synchronize(DoCallback); // <-- this line is called
      end;
  finally
    fSingleRequest.Release;      // <-- this isn't under the specific situation
  end;
Run Code Online (Sandbox Code Playgroud)

delphi multithreading delphi-7 critical-section synchronize

4
推荐指数
1
解决办法
1302
查看次数

如何在javascript中同步调用一组函数

我正在开发一个需要获取一些数据并处理它的javascript项目,但我遇到了JavaScript异步性质的问题.我想要做的是如下所示.

//The set of functions that I want to call in order
function getData() {
    //gets the data
}

function parseData() {
    //does some stuff with the data
}

function validate() {
    //validates the data
}

//The function that orchestrates these calls 
function runner() {
    getData();
    parseData();
    validate();
}
Run Code Online (Sandbox Code Playgroud)

在这里,我希望每个函数在继续下一次调用之前等待完成,因为我遇到程序在检索之前尝试验证数据的情况.但是,我还希望能够从这些函数返回一个值进行测试,所以我不能让这些函数返回一个布尔值来检查完成.在进入下一个调用之前,如何让javascript等待函数运行完成?

javascript asynchronous synchronous synchronize

4
推荐指数
2
解决办法
2万
查看次数

如何使用同步模块将文件复制到多个服务器

我试图找到一个示例,我可以将文件从serverA拉到一组服务器.
mygroup由10台服务器组成.需要将该文件复制到这10个服务器.这是我所拥有的,但它不完全正常.没有处理程序部分,我可以做一对一的复制没问题.

- hosts: serverA
  tasks:
- name: Transfer file from serverA to mygroup
  synchronize:
    src: /tmp/file.txt
    dest: /tmp/file.txt
    mode: pull

  handlers:
- name: to many servers
  delegate_to: $item
  with_items: ${groups.mygroup}
Run Code Online (Sandbox Code Playgroud)

synchronize ansible

4
推荐指数
1
解决办法
8306
查看次数

在Android中同步两个水平滚动视图

我尝试按照这篇文章中的建议同步ScrollView滚动位置 - 安卓 但遇到了问题.

背景 - 我想要一个包含水平和垂直滚动的表格布局,但我希望第一行和第一列始终存在 - 就像使用excel的冻结窗格一样.不幸的是,Android java编程似乎几乎不可能......让我头疼不已.我已经设置好了,如果我可以同步这两个horizo​​ntalscrollviews,那么我将按照我想要的方式工作.

我按照上面发布的链接的建议,我遇到的问题是这个.当我实施时,应用程序强制关闭

scrollView1.setScrollViewListener(本);

我认为问题可能是我声明ObservableScrollViews的方式.我没有使用XML - 所有对象都是以编程方式创建的.我试过用

private ObservableScrollView oScrollViewOne = new ObservableScrollView(this);

但这也导致了一股力量关闭.(我可以创建一个常规的滚动视图,为其分配一个ID,然后使用

scrollView1 =(ObservableScrollView)findViewById(ID); 其中ID是我给滚动视图的整数.

我想知道如何使用下面的注释以及如果我不使用XML布局如何使用它们.

我们应该在布局中指定这个新的ObservableScrollView类,而不是现有的ScrollView标记.

com.test.ObservableScrollView android:id ="@ + id/scrollview1"......

使用显式代码实现同步两个horizo​​ntalscroll视图的任何其他建议 - 不仅仅是建议使用OnTouchMotionEvent或其他想法而不提供代码,正如我之前看到的那样.

这是错误代码

10-23 23:33:08.631: ERROR/AndroidRuntime(18187): FATAL EXCEPTION: main
10-23 23:33:08.631: ERROR/AndroidRuntime(18187): java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.glen.apps.TeacherAidePro/com.glen.apps.TeacherAidePro.TeacherAidePro}: java.lang.NullPointerException
10-23 23:33:08.631: ERROR/AndroidRuntime(18187):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2709)
10-23 23:33:08.631: ERROR/AndroidRuntime(18187):     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2803)
10-23 23:33:08.631: ERROR/AndroidRuntime(18187):     at android.app.ActivityThread.access$2300(ActivityThread.java:135)
10-23 23:33:08.631: ERROR/AndroidRuntime(18187):     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2136)
10-23 23:33:08.631: ERROR/AndroidRuntime(18187):     at android.os.Handler.dispatchMessage(Handler.java:99)
10-23 23:33:08.631: …
Run Code Online (Sandbox Code Playgroud)

android synchronize horizontalscrollview

3
推荐指数
1
解决办法
4996
查看次数

同步MATLAB和C++

我有一个C++程序,它连续从kinect传感器(usung opencv)获取深度帧并将它们保存到png.我有另一个MATLAB脚本来读取这些图像并处理它们.

问题是MATLAB无法读取png,因为C++程序可能比MATLAB读取文件更快地覆盖文件.我想如果图像写入和读取可以同步,问题就可以解决了.

有什么可能是实现这一目标的最简单方法?只要解决方案有效,我愿意接受一些性能提升.

c++ matlab opencv synchronize

3
推荐指数
1
解决办法
158
查看次数

使用notify()和notifyAll()在代码中不起作用

我粘贴了下面的代码.这已经足够评论了.清除wait().来到这里时它跳到另一个街区.那部分我是橡木的.我怀疑的是为什么我们使用notify和notifyAll().如果从下面的代码中删除这两个,它可以正常工作.

class Reader extends Thread{
    Calculator c;
    //here we didn't write no-arg constructor.  Note this.
    // one - arg constructor.
    public Reader(Calculator calc){
        c = calc;
    }
    public void run(){
        synchronized(c){
        // 2. Acquiring the object lock and executes this code of block.
            try{
                System.out.println("Waiting for calculation...");
                c.wait();
                // 3.  Release the object lock and moves to the second synchronize block below
                // 6. Later the object get the lock here and moves on.
            }catch(InterruptedException e){
            }
            System.out.println("Total is: "+c.total); …
Run Code Online (Sandbox Code Playgroud)

java multithreading notify wait synchronize

3
推荐指数
1
解决办法
2267
查看次数

cudaDeviceScheduleBlockingSync和cudaDeviceScheduleYield有什么区别?

如上所述:如何减少CUDA同步延迟/延迟

设备等待结果有两种方法:

  • "轮询" - 在旋转中刻录CPU - 在等待结果时减少延迟
  • "阻塞" - 线程正在休眠直到发生中断 - 以提高一般性能

对于"轮询"需要使用CudaDeviceScheduleSpin.

但对于"堵"是什么,我需要使用CudaDeviceScheduleYieldcudaDeviceScheduleBlockingSync

cudaDeviceScheduleBlockingSync和之间有什么区别cudaDeviceScheduleYield

cudaDeviceScheduleYield如下所示:http://developer.download.nvidia.com/compute/cuda/4_1/rel/toolkit/docs/online/group__CUDART__DEVICE_g18074e885b4d89f5a0fe1beab589e0c8.html "指示CUDA 在等待设备结果时产生其线程.这可能会增加等待设备时的延迟,但可以提高与该设备并行执行工作的CPU线程的性能." - 即在旋转中没有刻录CPU的等待结果 - 即"阻塞".和cudaDeviceScheduleBlockingSync一样 - 等待结果没有刻录CPU旋转.但有什么区别?

concurrency cuda latency gpgpu synchronize

3
推荐指数
1
解决办法
1503
查看次数