Home – Datmt

  • Guide To ReentrantLock

    Table of Contents1 Why Locks Exist2 The synchronized Baseline3 Introducing ReentrantLock3.1 Basic Usage3.2 Why “Reentrant”?4 ReentrantLock Key Features4.1 1. Try-Lock (Non-Blocking Acquisition)4.2 2. Try-Lock with Timeout4.3 3. Interruptible Lock Acquisition4.4 4. Fairness4.5 5. Lock Introspection5 Condition Variables5.1 Bounded Buffer (Producer-Consumer)6 ReadWriteLock and ReentrantReadWriteLock7 StampedLock (Java 8+)8 Lock Selection Guide9 Common Pitfalls9.1 Forgetting finally9.2 Mismatched Hold

    Read More


  • Lesson 3.2: The Loop (Cycles)

    Lesson 3.2: The Loop (Cycles)

    Table of Contents1 The Scenario2 The Code3 Output (Randomized)4 Key Concept: Recursion Limit The most powerful feature of LangGraph is that it allows Cycles. You can draw an edge from Node B back to Node A. This creates a loop. The Scenario A “Coin Flip” game. The agent keeps flipping a coin until it gets

    Read More


  • Lesson 3.1: The Router (Conditional Edges)

    Lesson 3.1: The Router (Conditional Edges)

    Table of Contents1 The Scenario2 The Code3 Output A standard edge (add_edge) is like a train track; the train must go there. A conditional edge (add_conditional_edges) is like a junction. The graph pauses, looks at the State, and decides which track to take. To implement this, we need a special Routing Function. This function doesn’t

    Read More


  • Lesson 2.2 The Solution: Reducers

    Lesson 2.2 The Solution: Reducers

    Table of Contents1 The Fixed Code1.1 What is the Annotated type?1.2 How LangGraph Uses It2 The Result3 Why is this Critical? (The Chatbot Use Case)4 Real-World Example: Chat State To fix the overwrite issue in lesson 1, we need to tell LangGraph: “When you receive new data for ‘topics’, do not replace the old data.

    Read More


  • Lesson 2.1 The Problem: The "Overwrite" Bug

    Table of Contents1 The Broken Code2 The Result Let’s look at what happens when two nodes try to write to the same field in the state using the method from Module 1. The Broken Code We want to collect a list of topics. Node 1 finds “AI”. Node 2 finds “Crypto”. The Result What happened

    Read More