Upvote:3
If there is 1000 songs and 1000 people voting, creating one semaphore will have 999 people waiting even if they are all voting on different songs. Correct?
If you have 1-million people, you'd have 1-million semaphores to synchronize your database? Think about scaling..
You need to use a Transaction
operation for your database. See here: https://firebase.google.com/docs/database/ios/read-and-write#save_data_as_transactions
The above example seems to be the same thing you're attempting to do (voting with stars and incremental counters).
You cannot synchronize a remote database with a sempahore on the client-side anyway.. Unless I'm mistaken and your DB is local. In any case, a Transaction operation is the way to go.
Credit Goes to: stackoverflow.com
Related question with same questions but different answers
- SEMAPHORE SUGGESTION IN SWIFT 4 AND FIREBASE IN IOS
- NEWLINE CHARACTER NOT WORKING FROM TXT FILE IN SWIFT IN IOS
- SWIPE FUNCTION TO DELETE A TABLE ROW IN SWIFT IS NOT ANIMATING IN IOS
- CAN'T GET DISPATCHGROUP TO WORK PROPERLY IN SWIFT IN IOS
- CANNOT ANIMATE UIIMAGE WITH TIMING DELAY IN SWIFT IN IOS
- XCODE 9.2 BUILD WARNINGS WITH FIREBASE IN IOS
- HOW TO GET TOUCH EVENT ON ONLY BOUNDED AREA OF BUTTON IN SWIFT 3 IN IOS
- HOW TO RUN A SWIFT METHOD OF A SUBCLASS OF AN OBJECTIVE-C CLASS, WHICH HAS A METHOD WITH THE SAME NAME IN IOS
- HOW TO DISPLAY 2 TYPES OF CELL IN 1 TABLEVIEW SWIFT 4 IN IOS
- ITERATING OVER STRING IN SWIFT TO FETCH MOBILE NUMBER IN IOS
- USING A JSON ARRAY FROM A URL AND RETURNING ROWS THAT MATCH A VALUE IN SWIFT 3 IN IOS
- COMPLETION WITH FOR-LOOP IN SWIFT IN IOS
- ORDER OF EXECUTION OFF WHILE RETRIEVING DATA FROM FIREBASE DATABASE IN IOS
- UITABLEVIEW ALWAYS DISPLAYS BASIC CELL INSTEAD OF CUSTOM CELL IN SWIFT IN IOS
- CALL FUNCTION AS STRING IN SWIFT IN IOS
- CONSECUTIVELY ANIMATE ARRAY OF UIVIEWS WITH SWIFT IN IOS
- ARRAY WITH IMAGES NAME TO CHANGE MY IMAGE EVERY TIME I PRESS THE BUTTON IN SWIFT IN IOS
- SEPARATING CONSTRAINTS AND UI ELEMENTS (UIVIEW, UIBUTTON, UITEXTFIELD, ETC) DECLARATION TO SEPARATE SWIFT FILE IN IOS
- API CALLING IN SWIFT WITH ALAMOFIRE? IN IOS
- FLOAT VALUE RETURNS WITH DOUBLE QUOTES FROM [STRING: ANYOBJECT] IN SWIFT IN IOS
- HOW TO PARSE ARRAY FROM DESCRIPTION IN SWIFT 4? IN IOS
- MATCHING TEXT TO KEYWORDS IN SWIFT IN IOS
- CANNOT CHANGE COLOR OF THE TEXT USING IF CONDITION SWIFT 4.0 IN IOS
- NOT ABLE TO PARSE VARIABLE OTHER THAN STRING USING MOYA IN SWIFT IN IOS
- MOVING SPRITE PROPERLY BASED ON THE TOUCH IN SWIFT IN IOS
- WHY PASSING DATA WITH DELEGATE FAILS IN SWIFT 4 IN IOS
- HOW TO DATA IN SEGUE USING SWIFT IN IOS
- IOS FIREBASE FATAL ERROR IN IOS
- SEND POST REQUEST FROM SWIFT 4 TO NODE.JS IN IOS
- WHAT IS RESERVING CAPACITY IN DICTIONARY SWIFT 4? IN IOS
- SWIFT CIRCLE IMAGE USING IMAGE PICKER CONTROLLER IN IOS
- HOW TO REUSE THE SAME IBDESIGNABLE CODE IN UIVIEW AND UIIMAGEVIEW IN IOS
- REACT NATIVE TWITTER LOGIN CONFLICT FB AND GOOGLE LOGIN IOS IN IOS
- IMPLICIT BOOLEAN CONVERSION OF OBJECTIVE-C OBJECT LITERAL ALWAYS EVALUATES TO TRUE IOS IN IOS
- FATAL ERROR WHILE TRANSITION IN IOS
- UNABLE TO RESOLVE IDENTIFIER SOCKETMANAGER WITH (SWIFT3 XCODE9 IOS) IN IOS
- VIEWCONTROLLER IS GETTING CALLED MULTIPLE TIMES FROM MY ROOTVIEWCONTROLLER IN IOS
- UICOLLECTIONVIEW INSIDE CUSTOMTABLECELL IN IOS
- CALCULATE POSITION IN IMAGE AFTER SCALEASPECTFILL IN UIIMAGEVIEW IN IOS
- SECURING DATA IN IOS. KEYCHAIN OR ANY OTHER APPROACH? IN IOS
- GETTING USER'S COMPLETE INFORMATION USING TWITTERKIT IN IOS
- HOW TO SHOW ITEMS IN AN ARRAY IN A SPECIFIC ORDER? IN IOS
- HOW TO IMPLEMENT "ARE YOU SURE YOU WANT TO SUBMIT THE FORM AGAIN" IN WKWEBVIEW IN IOS
- DOES THE VISUAL OBJECT IN THE STORYBOARD CANVAS SERVES AS BOTH CONTROLLERS AND VIEWS IN IOS
- PROGRAMMATICALLY ADD VIEWS ONE AFTER ANOTHER IN IOS
- SWIFT 3 GESTURE RECOGNIZERS PATH.BOUNDINGBOX IS INFINITE IN IOS
- HOW TO SCROLL TO TOP OF UITEXTVIEW? IN IOS
- CONVERTING BYTE ARRAY TO UIIMAGE IN IOS
- HOW TO KNOW OUR APPLICATION IS ACTIVE OR IDLE? IN IOS
- A LOT OF BUTTON ADD SAME ADDTARGET(_:ACTION:FOR:) METHOD IN IOS
- UIIMAGEPICKERCONTROLLERDELEGATE NOT CALLED IN IOS
- IPHONE X: KEEP SEARCH BAR WITHIN SAFE ZONE IN IOS
- IBOUTLET IS NOT INITIALIZED IN IOS
- HOW TO PRESENT A VIEW CONTROLLER ABOVE ROOT VC IN NAVIGATION CONTROLLER FROM ANOTHER NAVIGATION CONTROLLER IN IOS
- DEFAULT UITABLEVIEWCELL HEIGHT IS TO BIG FOR THE TEXT IN IOS
- CHANGING THE TEXT ON THE BUTTON ON CLICKING IN IOS USING SWIFT3 IN IOS
- TINT IMAGE WITH TWO DIFFERENT COLORS IN IOS