There is a difference between being thankful and giving thanks. One can verbally say the words “Thank you” and not mean a word of it. Likewise, one can claim to be thankful all the while denying it by an unwillingness to actually express it.
True thankfulness will always express it by giving thanks to those responsible for the things one is thankful for. But it is also true that the habit of giving thanks will make one more thankful.
King David was known for his godliness partly because he was able to take the great virtues of true faith, thankfulness in this case, and turn it into a very simple practise. Here is his example of how to give thanks and grow in thankfulness.
I will give thanks to the LORD with my whole heart;Psalm 9:1 (ESV)
I will recount all of your wonderful deeds.
“Give thanks” is the action that he starts with. Say “Thank you …”. It is really that simple. Learn to speak those two words regularly, especially in your prayers to God.
To keep himself from being a hypocrite, David put his whole heart into it. “with my whole heart” was his way of turning the simple action of giving thanks into the virtue of thankfulness.
Because giving thanks soon runs out of items when thankfulness is not yet an established habit, David started keeping a list of all the amazing things God had done—”I will recount all your wonderful deeds”.
Thankfulness does not come automatically to selfish, entitled, and self-absorbed sinners. But saints can perfect the virtue of thankfulness in all of life with a simple habit of making a list of the good things that are experienced, and saying the words “Thank you” for each of those items. Over time this quickly becomes a habit that dispels not only grumpiness, criticism, and complaining, but also worry, anxiety, and selfishness.