小编Abh*_*tra的帖子

什么是AutoResetEvent和Mutex之间的区别

我是这些概念的新手.但随着我的深入,threading我感到困惑.

什么是意义mutex,semaphoreautoresetevent.

我在研究中发现的唯一区别是,a mutex可以跨过程操作执行.如果这就是为什么它不具有相同的方法的情况下Set,Reset,WaitOne.

我们可以替换AutoResetEvent使用mutex,反之亦然吗?

请解决这个难题.

c# multithreading mutex autoresetevent

11
推荐指数
1
解决办法
4555
查看次数

SyslogAppender无法正常工作

我有一个java程序,我想在fedora机器上登录/ var/log/messages文件.我在log4j SyslogAppender中使用但它不起作用.

我的log4j属性文件包含

# Set root category priority to INFO and its only appender to CONSOLE.
log4j.rootCategory=INFO, CONSOLE, SYSLOG
#log4j.rootCategory=INFO, CONSOLE, LOGFILE

# Set the enterprise logger priority to DEBUG
log4j.logger.com.locaid=INFO, CONSOLE, LOGFILE, SYSLOG

# CONSOLE is set to be a ConsoleAppender using a PatternLayout.
log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender
log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout
log4j.appender.CONSOLE.layout.ConversionPattern=%-4r [%t] %-5p %c %x - %m%n

# LOGFILE is set to be a File appender using a PatternLayout.
log4j.appender.LOGFILE=org.apache.log4j.FileAppender
log4j.appender.LOGFILE.File=/home/dev/app.log
log4j.appender.LOGFILE.Append=true
log4j.appender.LOGFILE.layout=org.apache.log4j.PatternLayout
log4j.appender.LOGFILE.layout.ConversionPattern=[%d{dd/MM/y HH:mm:ss}][%t][%1p] %c - %m%n

log4j.appender.SYSLOG=org.apache.log4j.net.SyslogAppender
log4j.appender.SYSLOG.syslogHost=localhost
log4j.appender.SYSLOG.layout=org.apache.log4j.PatternLayout
log4j.appender.SYSLOG.layout.conversionPattern=%d{ISO8601} …
Run Code Online (Sandbox Code Playgroud)

java logging log4j syslog

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

两个 Quartz-Worker 执行同一作业两次

我们已经实现了quartz来进行调度。每个产生的作业都有不同的key。到目前为止一切正常。昨天我们遇到了一个问题,因为同一个作业被两个不同的 Quartz-Worker 线程执行了两次或三次(没有特殊行为)。我们不能将线程池大小设为一,因为我们需要并发作业。

关于我们的计划作业,值得注意的一件事是,它会在每次运行时自行重新安排(每日、每周或每月),即,如果安排作业每天运行,那么它将在接下来的 24 小时内重新安排自己,但会随机预定义(例如 3 小时)时间窗口。例如,如果某个作业今天在 4:10(即 4:00 到 7:00 之间)运行,那么我们的作业会将其自行重新安排到明天 4:00 到 7:00 之间的某个随机时间。它可以是 4:01 或 6:59 或 5:23 或给定时间窗口中的任何其他值。这个过程也运行良好,并且在大多数情况下仍然运行良好,但在某些情况下,我们的重新安排算法无法在接下来的 24 小时内自行安排。相反,它会在接下来的 10 秒、1 小时或任何其他随机值内自行安排。但在2-3次错误的重新安排之后,它最终稳定下来,即它最终在接下来的24小时内自行安排。我们怀疑这可能是由于多个线程访问 Calendar 对象而发生的(我们使用 Calendar.getInstance() 和 cal.add(Calendar.DAY_OF_YEAR, 1) 在接下来的 24 小时内重新安排作业)。不知何故,日历实例选择了错误的时间或无法在当前时间添加一天。

因此,存在两个问题: 1. 多个 Quartz 线程获取相同的作业 2. 日历无法添加给定的间隔或在某些特定情况下选择错误的当前时间(多线程访问)

任何帮助将不胜感激。尽快回复。谢谢。


感谢您的回复。我想知道 Statefuljob 和 @DisallowConcurrentExecution 注释以及将 threadPool.threadCount 设置为 1 之间有什么区别。

重新安排的代码如下...

    Calendar cal = Calendar.getInstance();
    Calendar nextCal = Calendar.getInstance();
    cal.setTimeZone(TimeZone.getTimeZone(obj.getTimeZone()));
    nextCal.setTimeZone(TimeZone.getTimeZone(obj.getTimeZone()));
    Date startTime = null;
    SimpleTrigger trigger = null;

    JobDataMap dataMap = new JobDataMap();
     if (repeatTimeInMillis …
Run Code Online (Sandbox Code Playgroud)

java scheduling quartz-scheduler

6
推荐指数
1
解决办法
6066
查看次数

Linkedin/Facebook Api让用户对网络更新中的用户发表评论

我正在linkedin api用于获取网络更新.而且我能够获取用户在其中his update或之上所做的评论his 1st degree network updates.

我的问题是:有没有可能的方法来获取用户对out of network更新的评论?谢谢.

更新:问题facebook api 如果有人可以引导我recent likes在Facebook上获取朋友或非朋友的状态/分享的方式也会有所帮助.这些显示在最近活动块和/或activity log pageFacebook 上的Facebook个人资料页面上.虽然如果用户喜欢页面/粉丝页面,也可以获得.任何帮助表示赞赏.需要帮助.. :-(请回答......感谢您的反馈!

facebook linkedin social-networking facebook-graph-api

6
推荐指数
1
解决办法
1018
查看次数

如何在Windows Powershell中信任证书

我正在使用Windows 7,并希望运行已签名的脚本Powershell,security-settingsPowershell设置为"all-signed",我的脚本是valid certificate从我的公司签署的.我还将其添加.pfx-file到我的本地证书商店(right-clicked the pfx-file and installed).

但是,当我启动一个签名脚本时,我收到一条消息:

"Do you want to run software from this untrusted publisher?
File Z:\Powershell Signed Scripts\signed.ps1 is published by CN=[MyCompanyName] and is not trusted on your system. Only run scripts from
 trusted publishers.
[V] Never run  [D] Do not run  [R] Run once  [A] Always run  [?] Help
(default is "D"):"
Run Code Online (Sandbox Code Playgroud)

由于我想在我的系统上自动调用这些脚本,我想将我导入的证书添加到我系统上的可信列表中,这样我第一次运行签名脚本时就不再收到消息了.如何使我的证书成为值得信赖的证书?

powershell signed certificate pfx trusted

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

在java中听stdin的后台进程

我必须创建一个java程序,当用户输入0时它应该退出.用java代码编写没问题.

int cmd = read();
System.out.println("got command : " + cmd);
if (cmd == 48) { // ASCII code for 0
System.exit(0);
Run Code Online (Sandbox Code Playgroud)

我想在linux中使用start-stop脚本运行这个过程.我也可以使用&或者那样做nohup

case "$1" in    
  'start')
    if [ -f myfifo ]; then
      rm myfifo
    fi
    mkfifo myfifo
    cat > myfifo &
    echo $! > myfifo-cat-pid
    java -jar myjar.jar >/dev/null 2>&1 0<myfifo &
    echo "Started process: "$!
    ;;

  'stop')
    echo 0 > myfifo
    echo "Stopped process: "
    rm myfifo
    ;;
esac
Run Code Online (Sandbox Code Playgroud)

我的问题是,只要我运行此过程,它就会读取输入-1.虽然我想从stdinput中读取somthing明确地回显它,即调用stop.我只需要一个程序由shell脚本显式关闭.我努力了.帮我.

编辑:

我只想在用户按q或任何此类事件时关闭程序,并且不希望代码中出现无限循环.如果可能的话,任何其他方法如听其他事件也会有所帮助.我的代码不应该轮询事件.我已经尝试过Jnotify监视目录并在该目录中创建或删除文件时引发事件.但运气不好,他们不支持SunOS.:(

java shell stdin background-process

5
推荐指数
1
解决办法
1918
查看次数

GWT编辑器使用IsEditor <LeafValueEditor <Date >>来填充Long字段

我只是忙着使用它Editor framework并移植我的所有表格来使用它.我的Event表格上遇到了一些麻烦.我有5个不同的time fields- 对于每个字段,我使用a DateBox来允许用户选择时间.

在我的旧时代,我Activity将这些字段的值转换为Long时间,填充我的proxy object并坚持下去.

我想用这个做同样的事情Editor framework.无论如何我可以使用Editora DateBox来填充Long我的域对象中的字段.我敢肯定必须有办法做到这一点,我只是难以搞清楚.

如果情况并非如此,我现在暂时无法做到这一点,是否有人知道如何做到这一点的好方法?

java gwt gwt-editors

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

Jnotify是如何工作的

我能够将Jnotify听力事件用作文件编辑,修改等.我关注的是Jnotify的工作原理.我的意思是它使用get事件.在资源使用的参考中使用是否安全.我读了另一个问题 - /sf/ask/777000241/ - 它消耗了大量资源.

我可以解决我的问题的另一种方法是while循环直到条件然后程序关闭.

哪个更好用,消耗更少的资源.

java jnotify

2
推荐指数
1
解决办法
5100
查看次数