问题列表 - 第36075页

线程中断没有结束阻塞调用输入流读取

我正在使用RXTX从串口读取数据.读取是在以下列方式生成的线程内完成的:

CommPortIdentifier portIdentifier = CommPortIdentifier.getPortIdentifier(port);
CommPort comm = portIdentifier.open("Whatever", 2000);
SerialPort serial = (SerialPort)comm;
...settings
Thread t = new Thread(new SerialReader(serial.getInputStream()));
t.start();
Run Code Online (Sandbox Code Playgroud)

SerialReader类实现Runnable并且只是无限循环,从端口读取并将数据构建到有用的包中,然后再将其发送到其他应用程序.但是,我把它简化为以下简单:

public void run() {
  ReadableByteChannel byteChan = Channels.newChannel(in); //in = InputStream passed to SerialReader
  ByteBuffer buffer = ByteBuffer.allocate(100);
  while (true) {
    try {
      byteChan.read(buffer);
    } catch (Exception e) {
      System.out.println(e);
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

当用户单击停止按钮时,将触发以下功能,理论上应关闭输入流并中断阻塞byteChan.read(缓冲区)调用.代码如下:

public void stop() {
  t.interrupt();
  serial.close();
}
Run Code Online (Sandbox Code Playgroud)

但是,当我运行此代码时,我从未得到ClosedByInterruptException,一旦输入流关闭,它应该触发.此外,执行阻止调用serial.close() - 因为底层输入流仍然在读取调用上阻塞.我已经尝试用byteChan.close()替换中断调用,然后应该导致AsynchronousCloseException,但是,我得到了相同的结果.

对我所缺少的任何帮助将不胜感激.

java multithreading channel rxtx nonblocking

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

图层转换后UIImageView变得模糊

我有一个UIImageView添加到UIView作为子视图.当我在UIView的图层上应用转换时,UIImageView变得模糊.这是为什么?如何解决这个问题?

view.layer.position = newPosition;
Run Code Online (Sandbox Code Playgroud)

我只应用这种转变.


编辑:我已经测试过,如果我应用其他类似的转换:

view.layer.transform = newTransform;
view.layer.zPosition = newZPosition;
Run Code Online (Sandbox Code Playgroud)

然后只有在我改变图层位置时才会出现模糊.

uiview uiimageview ios4

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

有没有像工具那样可以合并wpf程序集的免费ilmerge?

我正在寻找一个免费工具将我的所有wpf应用程序的程序集合并到一个程序集中.通常,我使用ILMerge,但不幸的是,它不支持合并WPF程序集.有没有可以实现这一目标的工具?

商业工具对我来说不是一个选项,因为该应用程序是一个开源项目.


诚挚的问候,Oliver Hanappi

.net wpf ilmerge fody-costura

0
推荐指数
1
解决办法
1093
查看次数

输入输入字段时的CSS光标线大小

我有一个图像作为输入字段的背景.我可以轻松设置行高和字体大小,但是当您在输入内部单击时,光标线就在背景图像之外.

是否有一个控制它的CSS声明(你是否称它们?)?

css php

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

获取对iOS应用程序中最顶层视图/窗口的引用

我正在创建一个可重用的框架,用于在iOS应用程序中显示通知.我希望将通知视图添加到应用程序中其他所有内容的顶部,有点像UIAlertView.当我初始化侦听NSNotification事件并在响应中添加视图的管理器时,我需要获得对应用程序中最顶层视图的引用.这就是我现在所拥有的:

_topView = [[[[UIApplication sharedApplication] keyWindow] subviews] lastObject];
Run Code Online (Sandbox Code Playgroud)

这适用于任何iOS应用程序,还是更安全/更好的方式来获得顶视图?

objective-c uiview uiwindow ios

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

服务器端的PHP session_start()错误

我目前正试图将我的网站从我的机器上的localhost移动到我的网络服务器.而且有一个问题.

一切正常,除了管理登录表单.

起初我认为它不是-dave-8-without-BOM问题,但错误日志显示了一些我以前从未遇到过的奇怪问题.据我所知,问题是关于在服务器上保存会话数据,请参阅下面的错误日志.

PHP Warning:  session_start() [<a href='function.session-start'>function.session-start</a>]: open(/var/php_sessions/sess_cd9931f63118e645ca5d3704fecf86c6, O_RDWR) failed: No such file or directory (2) in /hermes/bosweb/web273/b2738/ipg.mydomaincom/admin/login.php on line 2 
PHP Warning:  Unknown: open(/var/php_sessions/sess_cd9931f63118e645ca5d3704fecf86c6, O_RDWR) failed: No such file or directory (2) in Unknown on line 0 
PHP Warning:  Unknown: Failed to write session data (files). Please verify that the current setting of session.save_path is correct (/var/php_sessions) in Unknown on line 0 
PHP Warning:  session_start() [<a href='function.session-start'>function.session-start</a>]: open(/var/php_sessions/sess_cd9931f63118e645ca5d3704fecf86c6, O_RDWR) failed: No such file or directory (2) in /hermes/bosweb/web273/b2738/ipg.mydomaincom/admin/include/header.php …
Run Code Online (Sandbox Code Playgroud)

php session

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

如何从另一个appDomain调用类的方法

我的应用程序想要调用来自另一个AppDomain的类的方法.

       AppDomain env = AppDomain.CreateDomain(
            "test",
            null,
            new AppDomainSetup() { ApplicationName = "test" }
            );

        Assembly a = Assembly.LoadFrom("d:\\testenv1\\test2.dll");
        //env.AssemblyResolve += new ResolveEventHandler(env_AssemblyResolve);
        env.Load(a.FullName);

        ObjectHandle o = env.CreateInstance(a.FullName, "Test2.Class1");
Run Code Online (Sandbox Code Playgroud)

现在我有Test2.Class1的对象句柄,但我不知道如何调用Class1类的"action"方法.

"动作"方法喜欢这个:

    public void action()
    {
        Console.WriteLine(AppDomain.CurrentDomain.FriendlyName + " ok");
    }
Run Code Online (Sandbox Code Playgroud)

我试图使用o.unwrap()方法来获取对象的引用,但似乎对象已被转移到当前域,因此"action"方法的输出打印当前域名.

.net c# appdomain

8
推荐指数
1
解决办法
6276
查看次数

由谷歌机器人(或冒充谷歌机器人的东西)引起的Rails 3上的奇怪例外

昨晚我在我的网站上遇到了一个异常问题:代理商:googlebot.

HomeController# (ActionView::MissingTemplate) "Missing template home/index with {:formats=>[:\"\\\"*/*\\\"\"], :locale=>[:en, :en], :handlers=>[:haml, :rjs, :rhtml, :builder, :rxml, :erb]} in view paths \"/disk1/home/slugs/302902_9453ada_84cd/mnt/app/view
Run Code Online (Sandbox Code Playgroud)

我不明白这意味着什么.似乎奇怪的是格式.有人经历过类似的事吗

谢谢.

ruby-on-rails

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

BigDecimal setScale和round

这两个电话有什么区别?(有没有?)

// 1.
new BigDecimal("3.53456").round(new MathContext(4, RoundingMode.HALF_UP));
// 2.
new BigDecimal("3.53456").setScale(4, RoundingMode.HALF_UP);
Run Code Online (Sandbox Code Playgroud)

java bigdecimal

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

如何从Scala代码中动态填充java.util.HashMap?

我是从ScalaTest测试java代码的单元,并希望在声明它的同一语句中填充java.util.HashMap.可以在Scala中执行此操作吗?

java scala hashmap scalatest

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