• Aceticon@lemmy.world
          link
          fedilink
          English
          arrow-up
          5
          arrow-down
          1
          ·
          edit-2
          un anno fa

          Nah, it’s just a steep learning curve and then you’ll be naturally using a few patterns - stuff like immutable classes, have yours function take the entire context of their operation as a variable and returning in changed in the output or check-condition, process, commit-if-still valid operation - to make your life easier.

          It’s only hard if you keep trying to design your program using the usual design patterns.

          (Also how easy or hard it is to use does depend on the programming language).

          What’s really unforgiving is when your processing is spread over multiple machines with comm overheads in the order of milliseconds where a seemingly fine design decision can totally tank your performance.

  • secret301@sh.itjust.works
    link
    fedilink
    English
    arrow-up
    2
    ·
    un anno fa

    I was just thinking to myself if it was possible to have more threads than 2 for each core. I guess this answers that but I didn’t know you could have that many per core!

    Why isn’t it more common to have like 4 threads per core?

    • SlippyCliff76@sh.itjust.works
      link
      fedilink
      English
      arrow-up
      7
      ·
      un anno fa

      Multi-threading should just really be called “intelligent scheduling.” It’s making more efficient use of a CPU core by scheduling multiple different lines of code to run on a core at the same time. Some bits of code take longer to run then others and don’t make full use of the CPU during the time they run, so the CPU will schedule another thread/code snippet to run in that gap of downtime.

      I’m certain someone will correct me and add clarity to this explanation, of course.