Hampir selalu lebih sederhana untuk berpikir secara berurutan, dan kemudian memodifikasi logika itu untuk bekerja lebih baik menggunakan utas. Dan, seperti ungkapan, "Jika tidak rusak, jangan memperbaikinya." Sebagian besar programmer tidak menggunakan utas hanya karena tidak perlu menggunakannya.
Jika Anda merasa lebih nyaman menggunakannya, lebih banyak kekuatan untuk Anda. Namun, ketahuilah bahwa jika utas tidak menawarkan peningkatan kecepatan dengan menghilangkan hambatan, mereka hampir pasti memperlambat program Anda.
Juga pertimbangkan bahwa sistem yang mendedikasikan hanya satu CPU untuk suatu proses akan mensimulasikan banyak utas dengan satu utas tunggal untuk menghemat sumber daya (ini tidak sering terjadi pada komputer modern, meskipun aplikasi telepon pintar masih sangat banyak mengalami pelecehan ini). Dalam hal ini, bahkan jika Anda menghilangkan hambatan melalui penggunaan utas, itu sebenarnya akan lebih lambat daripada jika Anda tidak menggunakan utas sama sekali.
Dan, mungkin alasan paling halus untuk menggunakan kehati-hatian dalam menggunakan utas, tetapi tentu bukan yang paling penting, utas memiliki kecenderungan untuk melakukan apa yang tidak Anda harapkan. Ya, jika Anda mengambil tindakan pencegahan, Anda seharusnya baik-baik saja. Ya, jika utas Anda tidak menulis ke variabel yang dibagi di antara utas, Anda seharusnya baik-baik saja. Karena itu, bug yang berhubungan dengan utas sangat sulit ditemukan. Karena saya berpendapat bahwa seorang programmer tidak dapat sepenuhnya menghilangkan kemungkinan untuk membuat bug dalam kode dan oleh karena itu seorang programmer harus mengambil langkah-langkah untuk melindungi terhadap kemungkinan bug daripada berfokus pada menghilangkannya secara total, Anda harus menerapkan ide ini ke hard- untuk menemukan bug utas juga. Dengan kata lain, ketahuilah bahwa di samping upaya terbaik Anda,
Jadi, sebaiknya Anda tetap menggunakan utas? Pengetahuan benang yang sehat tentu bukan hal yang buruk, terutama jika Anda menjadi ahli. Namun, pergerakan akhir-akhir ini mengarah ke bahasa single-threaded seperti node.js. Salah satu keuntungan utama dari memiliki utas tunggal adalah mudah untuk menskalakan dan optimasi tertentu dapat dilakukan jika Anda tahu bahwa instruksi diharapkan untuk dijalankan secara berurutan (bahkan jika optimasi dapat berarti bahwa instruksi yang dapat dijalankan secara paralel dapat dijalankan secara tidak sinkron).
Yang mengatakan, saya katakan lakukan apa yang paling nyaman untuk Anda. Dalam pengalaman saya, menulis sebuah program yang Anda pahami memiliki prioritas lebih tinggi daripada membuatnya bekerja lebih cepat. Pastikan untuk menggunakan utas ketika Anda pikir itu membantu Anda menulis program, dan bukan karena Anda ingin bekerja lebih cepat, karena Anda tidak perlu terlalu khawatir tentang kinerja saat Anda menulis program (pengoptimalan itu penting, tetapi itu juga bisa menunggu).