- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
抱歉,标题令人困惑。不太确定如何表达它,这可能是问题所在!
我正在寻找一个好的抽象来用于涉及并发线程的情况。
我已经接近了,但还不是很清楚。
稍微简化一下,我在 Android 手机上收集了两种传感器输入 - 方向类型的东西和 WiFi 扫描。
当两者都已收集到足够多时,我想触发一个使用数据的事件。然而,我不想就此打住——这个过程应该继续 N 次。
起初我只是在条件上使用 while 循环,例如
startCollecting();
while (samplesCollected < X){
// wait
while (directionCount < Y || scanCount < Z){};
// then
doSomeStuff();
samplesCollected++;
}
stopCollecting();
但是,SO 告诉我这是一个糟糕的表现,而且我确实遇到了 UI 的一些锁定(即使它在不同的线程上),所以我决定使用 java.util。并发。
问题是我不太清楚应该使用哪种抽象,可能是因为我没有经验。
ReentrantLock 的条件:
条件的想法似乎很棒 - 但我不想控制共享资源 - 我希望数据收集在处理第一批时在后台继续 - 那么我在哪里调用锁定?如果我不锁定,它就会抛出 IllegalMonitorStateException。
倒计时锁:
看起来很理想——当收集线程有可用数据时,它们可以调用 countDown(),当 countDown 被调用足够多次时,操作可以继续。但是 countDown 应该是一次性执行,我需要重复几次。
循环屏障:
CountdownLatch 的文档建议如果您希望行为可重复,则应改用 CyclicBarrier - 但 CyclicBarrier 的隐喻对于这种情况似乎完全错误,我不明白如何使用它。
我在下面链接了一些相关问题 - 任何指导将不胜感激。
Efficiency - use of Thread.yield in loop that waits for variable change
How to make a Java thread wait for another thread's output?
is there a 'block until condition becomes true' function in java?
A simple scenario using wait() and notify() in java
1 Câu trả lời
我们的代码中有类似的实现。我们创建了一个内部类,它实现了 runnable 并且可以处理数据。我们继续在单个线程中读取数据,一旦数据大小达到特定限制,我们就会将该数据传递给内部类的一个实例,并将该内部类实例作为任务提交给 ThreadPoolExecutor 服务。
这对我们来说效果很好。
关于重复非锁定条件信号的 Java 抽象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16329656/
Tôi hơi bối rối về tính trừu tượng trong Java. Tôi đã kiểm tra nhiều trang nói rằng trừu tượng hóa là ẩn dữ liệu (ẩn triển khai). Theo tôi hiểu, trừu tượng là một "sự triển khai một phần". Chỉ cần xác định những gì bạn cần trong các lớp/giao diện trừu tượng, sau đó mở rộng/triển khai chúng và thêm
Tôi mới làm quen với Ruby, chủ yếu sử dụng C# và ActionScript 3 (cùng với một số ngôn ngữ khác). Tôi tò mò về chức năng trừu tượng. Cụ thể là gói và tóm tắt các thư viện FTP và SFTP của Ruby. Tôi tìm kiếm xung quanh và tìm thấy một
Nội dung Java cơ bản (Tóm tắt) Tóm tắt Định nghĩa của abstract Sử dụng abstract Định nghĩa của abstract class
Tôi đã dành thời gian trong tháng này để vật lộn với Emacs Lisp, cố gắng để chức năng tự động thụt lề hoạt động tốt hơn theo nhu cầu của tôi. Thật đáng ngạc nhiên khi hầu hết mã thụt lề ở cấp độ thấp. Tôi chỉ thấy một vài sự trừu tượng như tìm kiếm biểu thức chính quy đầu tiên không có trong chuỗi hoặc bình luận
Tôi có những điều sau đây: public abstract class Foo{ //nội dung của Foo // ... public class Bar mở rộng
Tôi có ba lớp (lớp A, lớp B và lớp C). Lớp A gọi một thể hiện của B và chạy start(). Lớp B mở rộng Thread, do đó khi start() được gọi, mọi thứ trong phương thức run() sẽ được thực thi. hiện hữu
Câu hỏi này đã có câu trả lời: Gọi phương thức lớp con từ lớp cha (5 câu trả lời) Đã đóng 7 năm trước. Klasse1 là lớp trừu tượng có một phương thức foo(). K
Tôi có một hàm như thế này: def test(): x = "3" # Trong mã thực tế, hàm này được tính nếu x là None: return
Tôi có mối quan hệ giữa hai lớp cơ sở: public abstract class RecruiterBase { // Thuộc tính khai báo ở đây // Các hàm tạo khai báo
Đây là lần đầu tiên tôi đăng bài và tôi đang gặp phải rất nhiều vấn đề. Hiện tại tôi có một lớp AbstractDevice có tiêu đề: public abstract class AbstractDevice> implements De
Tôi có một lớp MotorDefinition và một lớp trừu tượng có tên là Motor: class MotorDefinition { public: MotorDefinition(int p1,
Có cách nào để tạo các quy tắc trừu tượng của css trong loại mã này (sass): #cottage-image-gallery input:nth-of-type(1):checked ~ label:nth-o
Có thể khai báo một kiểu cơ sở đã biết và cho phép chuyển giao tất cả các kiểu dẫn xuất không? [ServiceContract] giao diện công khai IService { [OperationContract]
Hiện tại tôi đang phát triển cơ chế tạo nhân vật cho một trò chơi văn bản dựa trên Java, nhưng tôi gặp phải một vấn đề và không biết lỗi ở đâu. Tôi có lớp "Character" là lớp trừu tượng và một lớp khác là "NPCharacter" được xây dựng dựa trên lớp này.
Xin lỗi, tiêu đề gây nhầm lẫn. Không chắc chắn lắm về cách diễn đạt, có thể đó là vấn đề! Tôi đang tìm một sự trừu tượng tốt để sử dụng cho các tình huống liên quan đến luồng đồng thời. Tôi đã gần đến đích rồi, nhưng vẫn chưa hoàn toàn. Để đơn giản hóa một chút, tôi đã thu thập hai cảm biến trên điện thoại Android của mình
Cảm ơn bạn trước vì đã đọc bài viết này. Tôi không hiểu đầy đủ về cách/thời điểm sử dụng đoạn trích, vì vậy tôi cố gắng nghĩ về nó trong mọi dự án tôi làm và xem liệu một ngày nào đó mọi thứ có ổn không. Cười | :) Ngoài ra, các mức độ truy cập (riêng tư, được bảo vệ
Tôi đang khám phá meme XML -> XSLT -> HTML để tạo nội dung web. Tôi có rất ít kinh nghiệm với XSLT. Tôi tò mò muốn biết có những cơ chế nào trong XSLT để xử lý trừu tượng hóa hoặc "tái cấu trúc". Ví dụ, sử dụng HTML chung và
Trong các buổi nói chuyện này, Nicholas Zakas và Addy Osmani thảo luận về ý tưởng sử dụng mô hình facade như một hộp cát khi xây dựng các ứng dụng Javascript lớn nhằm tách ứng dụng khỏi các thư viện cơ sở bên dưới. Sự tách rời này về mặt lý thuyết cho phép
Tôi đang sử dụng C++ và CUDA/C và muốn viết mã cho một vấn đề cụ thể, nhưng tôi gặp phải một vấn đề đơn giản hóa rất khó khăn. Kinh nghiệm của tôi với lập trình song song không phải là không đáng kể nhưng khá hạn chế, và tôi không thể lường trước được hết những đặc thù của vấn đề này. Tôi nghi ngờ liệu có cách nào thuận tiện hay thậm chí là "dễ dàng" không
Giả sử tôi có: trait A class B extends A class C extends A Có cách nào để cấu hình tham số kiểu không: class Foo[AType <: A with canCreateIn
Tôi là một lập trình viên xuất sắc, rất giỏi!