• ns1@feddit.uk
    link
    fedilink
    English
    arrow-up
    13
    ·
    3 hours ago

    At the risk of explaining what everyone here already gets: I like how the bottom picture could literally be a diagram of a 4-way deadlock where the buses are threads of execution and the roundabout exits are object locks.

    Whereas in top picture there are no passengers and I’m fairly sure the buses aren’t moving. Which probably says something about the state of the documentation

      • Warl0k3@lemmy.world
        link
        fedilink
        arrow-up
        11
        ·
        edit-2
        3 hours ago

        Making the word bigger doesn’t mean there’s more threads per, it just reduces the number of calls to complete some kinds of ops (and something about RAMing busses into each other and… cache locations? idk I’m sleepy)

        • ZILtoid1991@lemmy.worldOP
          link
          fedilink
          arrow-up
          3
          ·
          3 hours ago

          The double deckers are an example of a ready-made solution in the original language’s standard library, the lower one is getting multithreading working through the C ABI bindings, using some 3rd party solution, all while multithreading a lot of other tasks in the application.

  • tetris11@feddit.uk
    link
    fedilink
    English
    arrow-up
    6
    ·
    3 hours ago

    That’s because they’re using Little Endian in the first picture, and Big Endian in the second picture.

    No wonder they’ve got unpatched race conditions if they used the wrong flag at compile time

  • panda_abyss@lemmy.ca
    link
    fedilink
    arrow-up
    7
    ·
    4 hours ago

    All I wanted was to call ‘read’ while I listen on a socket!

    Where did it all go so wrong!?