java 硬件设备句柄,在多线程中的使用方式。

莱迪娜的风声 2019-01-26 02:40:14

如图所示,这是一个调用usb按键设备的程序,
这种方式调用的结果是句柄打开,但是线程内部的按键代码并没有生效
而 i 是确实 按下去了得。

但是,我如果将 打开句柄的语句 也放入线程中。
那么这样 线程中的按键语句是可以执行的,可是 由于只能打开 一个句柄操作。
就造成,这两个线程 只能有一个执行了。

我就想着,怎么能让这个按键方法能在多线程中也执行下去。
...全文
278 4 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
qybao 2019-01-28
  • 打赏
  • 举报
回复
而且你的主线程不要用sleep来等待(有可能线程来没来得及执行主线程就执行完了)
如果是必须两个线程执行完后主线程才能结束,那就用线程的join,否则就是用wait,notify来控制,或则process的waitFor
qybao 2019-01-28
  • 打赏
  • 举报
回复
共享设备(资源)要排他处理,否则结果是不可预知的
new Thread(() -> {
synchronize(msd) {
msd.M_KeyPress(xxx)
}
) .start()
十八道胡同 2019-01-27
  • 打赏
  • 举报
回复
你把按键代码 放到主线程 试试
莱迪娜的风声 2019-01-26
  • 打赏
  • 举报
回复
来人啊啊啊啊啊。。。

51,396

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧