- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
因此,在我编写的程序中,我有三个函数,为了简单起见,我们将它们称为 A、B 和 C。每个函数都需要访问资源X才能工作。
限制是A和B不允许同时运行并且必须适当同步。但是,C 可以与 A 或 B 同时运行。
这给我带来了一些问题。
首先,我尝试在 A 和 B 上加锁,这样当 A 被调用时,它会获取 X 的锁,然后释放它,与 B 相同。这样 A 和 B 会按顺序运行。但是,如果我以这种方式使用锁,C 就无法与 A 或 B 同时运行。
所以我尝试使用条件变量,其中如果 B 正在运行,A 必须等待来自 B 的信号,而 B 必须等待来自 A 的信号,但这种相互依赖的调用似乎也不起作用。
不知道该怎么办。
1 Câu trả lời
不控制语言,只讲理论,似乎有一个简单的方法。如果 X 是持久的,并且 A、B 和 C 可以通过接触 X 的方式调用,那么 A、B 和 C 在访问 X 时应该传入它们的名称,例如通过名为 D 的方法。做 D 所做的事:
所以基本上用 D 包裹 X。您甚至可以进一步简化,让 D 接受锁定或非锁定参数而不是名称。如果锁定,则检查锁定并可能等待,如果不锁定,则传递参数。
这个方法可能看起来过于简单,但是我不太了解你的实际情况。我看到这个问题不久前也有人问过,所以我不知道您是否还需要帮助。
关于concurrency - 锁/条件变量问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13120398/
đóng cửa. Câu hỏi này không liên quan đến chủ đề. Hiện tại không chấp nhận câu trả lời. Bạn có muốn cải thiện câu hỏi này không? Cập nhật câu hỏi để phù hợp với chủ đề trên Stack Overflow. Đã đóng cửa 12 năm trước. Cải thiện điều này
Tôi có một lưới động trong đó chức năng dữ liệu cần hoạt động bình thường để tôi có thể sao chép dữ liệu trong lưới theo từng bước. Giả sử ở hàng 5, tôi nhập 10, thì các hàng tiếp theo bắt đầu từ hàng 6 sẽ bắt đầu đọc từ 11, v.v. Nếu tôi đi đến dòng đầu tiên trống và gõ
Tôi gặp vấn đề về việc nút của tôi biến mất. Tôi đã đặt một hình ảnh làm nút của mình được hoạt hình hóa bằng hàm này function example_animate(px) { $('#cont
Tôi có một trang web có cả kết nối Facebook và đăng nhập bằng tên người dùng/mật khẩu cổ điển. Hiện tại, nếu người dùng nhấp vào nút facebook_connect, hệ thống sẽ hoạt động. Tuy nhiên, tôi muốn liên kết một tài khoản hiện có với Facebook, vì người dùng có thể chọn
Tôi đang phát triển một ứng dụng cho iOS có chức năng sau: tải và đặt chú thích, khởi tạo vị trí lõi và phóng to đến vị trí đó. Có rất nhiều chú thích trên bản đồ và việc tải chúng từ dữ liệu không mất nhiều thời gian, nhưng việc hiển thị chúng lên bản đồ thực sự mất khá nhiều thời gian.
Tôi được giới thiệu Heroku để lưu trữ Ruby on Rails và cho đến nay tôi nghĩ mình thực sự sẽ thích nó. Tôi chỉ muốn biết liệu có ai có thể giúp tôi tìm ra vấn đề không. Tôi đã làm theo hướng dẫn ở đó để tạo một ứng dụng trên trang web đó, tạo nó và gửi nó
Tôi đã thấy nhiều bài đăng và thông tin về lỗi SSL và tôi đã tình cờ tìm thấy một bài. Tôi đang cố gắng truy cập một trang web thông qua Android WebView bằng chứng chỉ GlobalSign CA BE nhưng tôi nhận được lỗi không đáng tin cậy. Đối với hầu hết
Tôi muốn bắt đầu sử dụng OpenGL 3+ và 4, nhưng tôi gặp vấn đề khi sử dụng Glew. Tôi đã thử đưa glew32.lib vào Additional Dependencies và đã di chuyển thư viện và .dll vào thư mục chính, do đó sẽ không có vấn đề gì về đường dẫn.
Tôi đã xem xét mã nguồn của cả hai trang tải xuống một lúc rồi nhưng có vẻ như tôi không thể tìm ra vấn đề. Tôi có hai trang tải xuống, một trang có thể chạy được javascript và một trang thì không. Đang hoạt động: http://justupload.it/v/lfd7 Không
Tôi đã sử dụng jQuery và chỉ đang cố gắng thay thế trường văn bản và ẩn/hiển thị các mục nội dung khi nhấp vào liên kết. Có vẻ như nó hoạt động tốt trên IE, nhưng tôi không thể sử dụng nó trên FF. jQuery của tôi: $(function() {
Tôi đang cố gắng biên dịch thư viện socket cho NDK nhưng tôi nhận được hai lỗi sau: lỗi: 'close' không được khai báo trong phạm vi này và lỗi: 'min' không phải là am
Tôi đang thử nghiệm một trang web bằng cách sử dụng nền tảng tự động hóa trình duyệt Selenium. Trong quá trình thử nghiệm, tôi chuyển sang một khung hình cụ thể, hãy gọi là "frame_1". Sau đó, tôi sử dụng phương thức deselectAll() trong lớp Select. Sớm
Tôi đang cố gắng tạo kết nối tới cơ sở dữ liệu Heroku PostgreSQL thông qua Python. Tôi đang sử dụng Windows 10 với Python 3.6.8 và PostgreSQL 9.6. Tôi đã học được từ "ht
Tôi có một khung dữ liệu với 2 cột và tôi muốn tạo cột thứ ba dựa trên sự so sánh giữa hai cột. Vì vậy, logic là: val = 3 trong cột 1, val = 4 trong cột 2, vì vậy giá trị cột mới là không có gì. val = 3 trong cột 1, val = 4 trong cột 2
Tôi muốn biết cách gỡ lỗi css trong iPhone 5. Tôi đã thử sử dụng plugin firelite. Nhưng khi xoay từ chế độ dọc sang chế độ ngang, Flint sẽ chiếm toàn bộ màn hình. Có cách nào khác để gỡ lỗi css trong iPhone 5 không?
Vì vậy, tôi hơi bối rối không hiểu tại sao cách này lại không hiệu quả. Tôi đang cố gắng thay thế các hộp kiểm danh mục trên một trang web mẫu mà tôi đang làm việc. Tôi đang cố gắng để nó thực hiện những điều sau: xuất hiện theo một cách khi không được chọn, theo một cách khác khi di chuột qua (được chọn hoặc không được chọn) theo một cách thứ ba khi được chọn (thay vì
Câu hỏi về Javascript CSS: Tôi đang sử dụng hộp văn bản để viết vào div. Tôi sử dụng javascript sau để lấy hộp văn bản để thực hiện việc này: function process_input(){
Xin chào, tôi gặp khó khăn trong việc hiểu chủ đề P, NP và rút gọn thời gian đa thức. Tôi đã thử tìm kiếm trực tuyến và hỏi một số người bạn nhưng không nhận được câu trả lời thỏa đáng nào. Tôi muốn hỏi một câu hỏi chung về chủ đề này: Cho A, B là các ngôn ngữ trong P (hoặc
Xin chào, tôi đang làm việc trên https://leetcode.com/problems/2-keys-keyboard/ và gặp phải vấn đề lập trình động này. Bạn bắt đầu ở "A" trên một trang trắng và khi bạn hoàn thành, bạn sẽ nhận được số n, đó là
Tôi đang chạy tích hợp liên tục trên máy chủ Xcode bằng Cocoapods và KIF. Tôi đã thiết lập thành công để một dự án báo cáo về mọi cam kết. Tôi hiện đang làm việc trên một dự án thứ hai và gặp lỗi: Vấn đề về Bot: cảnh báo
Tôi là một lập trình viên xuất sắc, rất giỏi!