问题标签 [thread-synchronization]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c++ - 在 C++ 中使用管道的线程和同步
我有两个线程。一个线程生成一个数字,另一个线程将生成的数字平方。我需要使用管道或信号量或消息队列同步此操作。帮我解决这个问题
.net - 如何编写接受多个输入的VB线程锁定代码?
我阅读了很多关于锁定机制的材料,但我仍然没有答案如何编写一个:
- 接受比退出更多的进入
- 第二个线程将等待最多 5 秒,然后它将进入临界区
以下作品。它处理多次调用ThreadA_Method1然后它(有时)后面跟着ThreadA_Method2的情况。但是有没有更好的解决方案?
c# - C#根据字符串同步线程
在我的程序中,我需要处理文件。我的程序可以使用多个线程来处理文件,因此我需要某种锁定,因为每个文件一次不应由多个线程处理。
使用上面的代码一次只能处理一个文件,但是两个线程应该能够同时处理两个不同的文件,但不能处理同一个文件。
我的第一个想法是创建一个字典,其中包含文件的密钥和锁定对象的值。但我想知道是否也可以锁定字符串文件?对此有什么想法吗?
PS:抱歉找不到更好的标题
c# - 带 TCPclient 的多线程
我确实有一个多线程 TCPClient 应用程序的问题,每个 Client 对象都有一个接收和发送消息的线程和一个处理应该处理的任务的线程(取决于消息)......(例如创建并回答味精线程发送)。但是出了点问题……应用程序几乎总是使用 100% 的 cpu(如果任何线程有任务,那是大部分时间)。我也有一种感觉,一些线程的优先级低于其他线程(可以在一些日志中看到,例如,线程 1 中的操作比线程 2 中的操作花费的时间更长……有什么好的方法来处理这个问题吗?
我希望得到一些帮助或一些提示!有什么不清楚的就问吧:)
谢谢!/缺口
c - 在多线程应用程序中暂停执行其他功能
我在 C 中实现 FIFO。一个线程正在写入 FIFO,另一个正在读取它。
如何防止函数 *add_to_fifo* 和 *get_from_fifo* 被不同的线程同时调用。即 *get_from_fifo* 只应在其他线程未执行 *add_to_fifo* 时调用,反之亦然。
c - 使用互斥锁的 Pthread 同步
我遇到了一个关于 Pthread 的棘手问题,我无法弄清楚。我使用互斥锁来同步子线程和主线程。但是,当我将 subFinished[i] 锁定在主线程中时,它无法将其锁定并卡在那里。有时进展顺利,尤其是当我在代码中插入一些标准输出时。但大多数情况下,它会在尝试锁定 mutex subFinished[i] 时卡住。
在我同步线程的方式中是否会发生任何不可预知的事情?
明天交作业。很多谢谢!
代码如下C中。
使用
编译。
java - 同步数组中的元素
我是 Java 多线程的新手,不太了解发生了什么。
从在线教程和讲义中,我知道synchronized
必须应用于非空对象的块确保只有一个线程可以执行该代码块。由于数组是 Java 中的对象,因此可以对其应用同步。此外,如果数组存储对象,我也应该能够同步数组的每个元素。
我的程序有几个线程更新了一个数字数组,因此我创建了一个Long
对象数组:
这段代码位于run()
我扩展的线程类的方法中。数组 grid 由我的所有线程共享。但是,这不会在一个线程上运行相同的程序时返回正确的结果。
thread-synchronization - NXC中如何控制线程的执行顺序?
我想在抢占式线程调度环境中编写一个并行程序,我可以使用互斥锁(二进制互斥锁,始终初始化为未使用)、等待指令以及线程协作指令(屈服于线程中的另一个任务)来同步我的线程,但没有任何可用的信号量机制(事实上,我正在为 Lego Mindstorm 用NXC编程语言编写程序)。
有没有办法用两个线程A和B编写程序并生成像 (ABABAB ...) 这样的执行顺序?[这就像一个线程包含一个调用两个函数 A() 和 B() 的循环 - 但在这里,它是多线程方式]
如果我有信号量,我想我会这样做:
android - Handler.dispatchMessage 在 OpenGL 线程中使用时挂起/崩溃
我正在为 Android 开发一个 opengl 游戏。当用户松开游戏时应该返回主菜单,但是这个调用是从 OpenGL ES 线程到 UI 线程进行的,存在一些麻烦。我发现这篇文章使用 queueEvent() 在渲染器和另一个类之间传递变量,并尝试在以下代码中添加 Handler 类:
然后在 OpenGL ES 代码中
但我仍然遇到冻结或运行时异常(请参阅上面代码中的注释行)。我在这里错过了什么或做错了什么?
顺便说一句,如何获取在 XML 中定义的 View 实例的引用(参见menuViewID
上面的代码),或者该findViewById
方法为什么返回NULL
?
java - Java 线程 - 用于两个 while 循环
我是一个初学者,我为此学习了教程,但仍然不知道如何实现这一点。
我有两个 while 循环,一个在 main() 方法中,一个在 send() 方法中,都需要同时执行,我该怎么做。
sendDATA 中的 while 循环通过从文件中读取 512 个字节然后将它们发送到客户端类来工作。虽然 main 方法中的循环从客户端接收数据包并更新变量,如果变量为真,则 sendDATA 读取下一个 512 字节并发送它们等等,但我不能在两个线程中工作。
我已经用一个while循环完成了这个并且程序可以正常工作,它可以传输除最后一个之外的所有数据包。客户端永远不会得到最后一个数据包。
服务器:
客户: