我最近在一次采访中被问到这个问题。
编写一个包含两个线程(A 和 B)的程序,其中 A 打印 1 ,B 打印 2 等等,直到达到 50。
我们该怎么做呢?
原文由 user2434 发布,翻译遵循 CC BY-SA 4.0 许可协议
我最近在一次采访中被问到这个问题。
编写一个包含两个线程(A 和 B)的程序,其中 A 打印 1 ,B 打印 2 等等,直到达到 50。
我们该怎么做呢?
原文由 user2434 发布,翻译遵循 CC BY-SA 4.0 许可协议
15 回答8.4k 阅读
8 回答6.2k 阅读
1 回答4.1k 阅读✓ 已解决
3 回答2.2k 阅读✓ 已解决
2 回答3.1k 阅读
2 回答3.8k 阅读
3 回答1.7k 阅读✓ 已解决
任务的本质是演示一个线程如何向另一个线程发送信号。最常见的方式是使用阻塞队列,但是这里一个信号不携带任何信息,所以一个信号量就足够了。
创建用 2 个信号量参数化的线程类:输入和输出:
创建 2
Semaphore
并将它们传递给 2 个线程:注意信号量
a
和b
以不同的顺序传递。