SEARCH KEYWORD -- Concurrency
Concurrency vs Parallelism
Concurrency and parallelism are two related concepts which deal with executing tasks "simultaneously". From Sun's Multithreaded Programming Guide: Concurrency: A condition that exists when at least two threads are making progress. A more generalized form of parallelism that can include time-slicing as a form of virtual parallelism. Parallelism: A condition that arises when at least two threads are executing simultaneously. These two definitions are too formal to be understood easily. On t...
Concurrency,Parallelism,Thread 2013-08-07 23:42:33
Rust vs Go: how to choose the best programming language for your project?
Rust and Go, these two modern programming languages, with their unique advantages, are becoming hot topics in the developer community. Their competition in performance, security, simplicity, feature set, and concurrency not only influences developers' choices but also foretells future trends in software development. Battle of Performance: Rust's Precision vs. Go's Efficiency Rust, developed by Mozilla Research, has become the preferred choice for performance-sensitive applications due to its zer...
RUST,GO,GOLANG,COMPARISON 2024-02-10 19:36:44
Why MySQL 8 drops support of query cache
Many of you may have heard or used MySQL's query cache, because it used to be a popular way to improve MySQL's performance. As an important feature for improving MySQL's performance, the query cache was often recommended as a solution for slow queries. However, why has MySQL 8 abandoned the query cache? Today, we will analyze and explore this decision. What is query cache? According to official document: The query cache stores the text of a SELECT statement together with the correspon...
MYSQL 8,QUERY CACHE 2023-03-11 09:05:17
The Erlang Design Pattern
Over the last couple of weeks I did an OO programming experiment. I call it the Erlang design pattern. It is based on the Actor model but goes some steps further. At its core just like the Actor model there are active entities (objects) that have a thread and a message queue with the thread waiting on the message queue to do some stuff. The Erlang design pattern extends the Actor model by first dividing the software program into active (actors, that have their own thread) and passive ...
Erlang,Thread,Pattern,OS Threads 2012-02-06 07:47:56
Singleton Pattern in Golang
Singleton pattern is the simplest design pattern in software design. It ensures that only one instance of an object exists globally, regardless of how many times the object is instantiated. Based on the characteristics of the singleton pattern, it can be applied to scenarios such as global unique configuration, database connection objects, file access objects, etc. In Go language, there are multiple ways to implement the singleton pattern. Today, let's learn together about some of these approach...
GOLANG,SINGLETON PATTERN,TUTORIAL 2023-08-18 23:52:05
Java Concurrency Basics: CountDownLatch and CyclicBarrier
CountDownLatch CountDownLatch can be used in synchronizing behavior among threads, it makes one or more threads wait for some actions in other threads to be completed. It has a property count which defines how many countDown() need to be called before other threads which called await() to be waked up. When a thread calls CountDownLatch.await(), the thread will be blocked until the value of count becomes 0. The initial value of count can be specified when creating the CountDownLatch instanc...
JAVA,JAVA CONCURRENCY,COUNTDOWNLATCH,CYCLICBARRIER 2018-03-25 07:02:40
Advantages and disadvantages of GoLang
GoLang is a strong typed language which means it is less flexible than interpreted languages by nature. But Go provides Any type(interface) and Reflect mechanism which make the language very close to interpreted languages on flexibility. More and more people start to learn GoLang. This post is mainly for listing down some of the advantages and disadvantages of GoLang. Advantages Performance(Machine code) GoLang is a compilation language which can be compiled to machine code and the compiled bina...
GENERICS,GOROUTINE,GOLANG,DISADVANTAGE,ADVANTAGE 2018-11-10 20:46:45
Java SynchronizedList and Iterator
While reading some material about concurrency, I come up with some writing about using SynchronizedList wrap about normal List to enable synchronization. But one interesting thing is http://docs.oracle.com/javase/7/docs/api/java/util/Collections.html#synchronizedList%28java.util.List%29 It says It is imperative that the user manually synchronize on the returned list when iterating over it: 1 List list = Collections.synchronizedList(new A...
Obviously Correct
What do automatic memory management, static types and purity have in common? They are methods which take advantage of the fact that we can make programs obviously correct (for some partial definition of correctness) upon visual inspection. Code using automatic memory management is obviously correct for a class of memory bugs. Code using static types is obviously correct for a class of type bugs. Code using purity (no mutable references or side effects) isobviously c...
Memory management,Code,Static,Purity 2011-11-07 08:13:05
The several flavors of random in Java
Random number generation is one of most basic features in any programming language. The basic utilization is always the same: generate a random number between 0 and 1. With such a simple resource at hand we sometimes overlook some interesting features. What do we learn from the books? The most obvious and maybe intuitive way to generate random numbers in Java is simply calling: java.lang.Math.random() Random generation is in the Math utility class with abs, pow, floor...
RECENT
- Tips for Socializing With Friends During College
- Proximity Cards Do More Than Just Open Doors
- How to choose quality painted auto parts
- Oval engagement rings from MoonOcean: Elegance of form and individual approach
- Hologres vs AWS Redshift
- GoLand connect to Hologres
- A journey to investigate a goroutine leakage case
- Understanding Slice Behavior in Go
- Breaking Barriers: How 3D Printing is Democratizing Product Development
- The Power of Efficiency: 10 Practical Energy-Saving Tips for Tech Startups
- more>>