Sep 7, 2014

Java Thread Pool tutorial

A thread pool manages the pool of worker threads, it contains a queue that keeps tasks waiting to get executed.
A thread pool manages the collection of Runnable threads and worker threads execute Runnable from the queue.
java.util.concurrent.Executors provide implementation of java.util.concurrent.Executor interface to create the thread pool in java. Let’s write a simple program to explain it’s working.
First we need to have a Runnable class.

WorkerThread.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
package com.journaldev.threadpool;
 
public class WorkerThread implements Runnable {
     
    private String command;
     
    public WorkerThread(String s){
        this.command=s;
    }
 
    @Override
    public void run() {
        System.out.println(Thread.currentThread().getName()+" Start. Command = "+command);
        processCommand();
        System.out.println(Thread.currentThread().getName()+" End.");
    }
 
    private void processCommand() {
        try {
            Thread.sleep(5000);
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
    }
 
    @Override
    public String toString(){
        return this.command;
    }
}
Here is the test program where we are creating fixed thread pool from Executors framework.
SimpleThreadPool.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
package com.journaldev.threadpool;
 
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
 
public class SimpleThreadPool {
 
    public static void main(String[] args) {
        ExecutorService executor = Executors.newFixedThreadPool(5);
        for (int i = 0; i < 10; i++) {
            Runnable worker = new WorkerThread("" + i);
            executor.execute(worker);
          }
        executor.shutdown();
        while (!executor.isTerminated()) {
        }
        System.out.println("Finished all threads");
    }
 
}
In above program, we are creating fixed size thread pool of 5 worker threads. Then we are submitting 10 jobs to this pool, since the pool size is 5, it will start working on 5 jobs and other jobs will be in wait state, as soon as one of the job is finished, another job from the wait queue will be picked up by worker thread and get’s executed.
Here is the output of the above program.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
pool-1-thread-2 Start. Command = 1
pool-1-thread-4 Start. Command = 3
pool-1-thread-1 Start. Command = 0
pool-1-thread-3 Start. Command = 2
pool-1-thread-5 Start. Command = 4
pool-1-thread-4 End.
pool-1-thread-5 End.
pool-1-thread-1 End.
pool-1-thread-3 End.
pool-1-thread-3 Start. Command = 8
pool-1-thread-2 End.
pool-1-thread-2 Start. Command = 9
pool-1-thread-1 Start. Command = 7
pool-1-thread-5 Start. Command = 6
pool-1-thread-4 Start. Command = 5
pool-1-thread-2 End.
pool-1-thread-4 End.
pool-1-thread-3 End.
pool-1-thread-5 End.
pool-1-thread-1 End.
Finished all threads
The output confirms that there are five threads in the pool named from “pool-1-thread-1″ to “pool-1-thread-5″ and they are responsible to execute the submitted tasks to the pool.
Executors class provide simple implementation of ExecutorService using ThreadPoolExecutor but ThreadPoolExecutor provides much more feature than that. We can specify the number of threads that will be alive when we create ThreadPoolExecutor instance and we can limit the size of thread pool and create our own RejectedExecutionHandler implementation to handle the jobs that can’t fit in the worker queue.
Here is our custom implementation of RejectedExecutionHandler interface.
RejectedExecutionHandlerImpl.java
1
2
3
4
5
6
7
8
9
10
11
12
13
package com.journaldev.threadpool;
 
import java.util.concurrent.RejectedExecutionHandler;
import java.util.concurrent.ThreadPoolExecutor;
 
public class RejectedExecutionHandlerImpl implements RejectedExecutionHandler {
 
    @Override
    public void rejectedExecution(Runnable r, ThreadPoolExecutor executor) {
        System.out.println(r.toString() + " is rejected");
    }
 
}
ThreadPoolExecutor provides several methods using which we can find out the current state of executor, pool size, active thread count and task count. So I have a monitor thread that will print the executor information at certain time interval.

MyMonitorThread.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
package com.journaldev.threadpool;
 
import java.util.concurrent.ThreadPoolExecutor;
 
public class MyMonitorThread implements Runnable
{
    private ThreadPoolExecutor executor;
     
    private int seconds;
     
    private boolean run=true;
 
    public MyMonitorThread(ThreadPoolExecutor executor, int delay)
    {
        this.executor = executor;
        this.seconds=delay;
    }
     
    public void shutdown(){
        this.run=false;
    }
 
    @Override
    public void run()
    {
        while(run){
                System.out.println(
                    String.format("[monitor] [%d/%d] Active: %d, Completed: %d, Task: %d, isShutdown: %s, isTerminated: %s",
                        this.executor.getPoolSize(),
                        this.executor.getCorePoolSize(),
                        this.executor.getActiveCount(),
                        this.executor.getCompletedTaskCount(),
                        this.executor.getTaskCount(),
                        this.executor.isShutdown(),
                        this.executor.isTerminated()));
                try {
                    Thread.sleep(seconds*1000);
                } catch (InterruptedException e) {
                    e.printStackTrace();
                }
        }
             
    }
}
Here is the thread pool implementation example using ThreadPoolExecutor.
WorkerPool.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
package com.journaldev.threadpool;
 
import java.util.concurrent.ArrayBlockingQueue;
import java.util.concurrent.Executors;
import java.util.concurrent.ThreadFactory;
import java.util.concurrent.ThreadPoolExecutor;
import java.util.concurrent.TimeUnit;
 
public class WorkerPool {
 
    public static void main(String args[]) throws InterruptedException{
        //RejectedExecutionHandler implementation
        RejectedExecutionHandlerImpl rejectionHandler = new RejectedExecutionHandlerImpl();
        //Get the ThreadFactory implementation to use
        ThreadFactory threadFactory = Executors.defaultThreadFactory();
        //creating the ThreadPoolExecutor
        ThreadPoolExecutor executorPool = new ThreadPoolExecutor(2, 4, 10, TimeUnit.SECONDS, new ArrayBlockingQueue<Runnable>(2), threadFactory, rejectionHandler);
        //start the monitoring thread
        MyMonitorThread monitor = new MyMonitorThread(executorPool, 3);
        Thread monitorThread = new Thread(monitor);
        monitorThread.start();
        //submit work to the thread pool
        for(int i=0; i<10; i++){
            executorPool.execute(new WorkerThread("cmd"+i));
        }
         
        Thread.sleep(30000);
        //shut down the pool
        executorPool.shutdown();
        //shut down the monitor thread
        Thread.sleep(5000);
        monitor.shutdown();
         
    }
}
Notice that while initializing the ThreadPoolExecutor, we are keeping initial pool size as 2, maximum pool size to 4 and work queue size as 2. So if there are 4 running tasks and more tasks are submitted, the work queue will hold only 2 of them and rest of them will be handled by RejectedExecutionHandlerImpl.
Here is the output of above program that confirms above statement.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
pool-1-thread-1 Start. Command = cmd0
pool-1-thread-4 Start. Command = cmd5
cmd6 is rejected
pool-1-thread-3 Start. Command = cmd4
pool-1-thread-2 Start. Command = cmd1
cmd7 is rejected
cmd8 is rejected
cmd9 is rejected
[monitor] [0/2] Active: 4, Completed: 0, Task: 6, isShutdown: false, isTerminated: false
[monitor] [4/2] Active: 4, Completed: 0, Task: 6, isShutdown: false, isTerminated: false
pool-1-thread-4 End.
pool-1-thread-1 End.
pool-1-thread-2 End.
pool-1-thread-3 End.
pool-1-thread-1 Start. Command = cmd3
pool-1-thread-4 Start. Command = cmd2
[monitor] [4/2] Active: 2, Completed: 4, Task: 6, isShutdown: false, isTerminated: false
[monitor] [4/2] Active: 2, Completed: 4, Task: 6, isShutdown: false, isTerminated: false
pool-1-thread-1 End.
pool-1-thread-4 End.
[monitor] [4/2] Active: 0, Completed: 6, Task: 6, isShutdown: false, isTerminated: false
[monitor] [2/2] Active: 0, Completed: 6, Task: 6, isShutdown: false, isTerminated: false
[monitor] [2/2] Active: 0, Completed: 6, Task: 6, isShutdown: false, isTerminated: false
[monitor] [2/2] Active: 0, Completed: 6, Task: 6, isShutdown: false, isTerminated: false
[monitor] [2/2] Active: 0, Completed: 6, Task: 6, isShutdown: false, isTerminated: false
[monitor] [2/2] Active: 0, Completed: 6, Task: 6, isShutdown: false, isTerminated: false
[monitor] [0/2] Active: 0, Completed: 6, Task: 6, isShutdown: true, isTerminated: true
[monitor] [0/2] Active: 0, Completed: 6, Task: 6, isShutdown: true, isTerminated: true
Notice the change in active, completed and total completed task count of the executor. We can invoke shutdown() method to finish execution of all the submitted tasks and terminate the thread pool.
If you want to schedule a task to run with delay or periodically then you can use ScheduledThreadPoolExecutor class. Read more about them at Java Schedule Thread Pool Executor.


Source: Internet

Jun 28, 2014

Các trò chơi thú vị bố có thể dạy con

Hãy chơi ngoài trời càng nhiều càng tốt: Hai bố con cùng đi trên gờ vỉa hè, trèo cây, đi bơi, đá bóng, đánh cầu lông, trượt patin, đạp xe đạp, thả diều...
 
Một ông bố đã hỏi tôi: “Chị ơi, làm thế nào để chơi với con ạ?”. Một ông bố quá thông minh. Đó là vì bố không hỏi “Làm thế nào để dạy con ạ?”. Rất nhiều bố mẹ quên mất một điều, trẻ học ở trường cả ngày, mệt quá rồi, học từ sáng đến chiều nên khi về là thời gian chơi. Với trẻ, chơi càng nhiều càng tốt. Nhưng chơi với con thế nào là cả một nghệ thuật và có những nguyên tắc bạn cần làm theo vì bạn phải tự đặt mình vào vị trí của con để hiểu con thích gì, cần gì và cái gì phù hợp với độ tuổi của bé.
Khi bé đang không làm gì, hãy rủ bé chơi cùng. Nếu bé đồng ý thì hai bố con cùng chơi, nếu bé không thích thì phải tôn trọng quyền của bé. Có thể bé có một kế hoạch khác sẵn sàng rồi. Đừng nghĩ trẻ không biết quyết định. Nếu bé không bận hãy hỏi câu hỏi mở “Con thích hai bố con mình chơi trò gì bây giờ?” và để bé tự chọn.
Chọn trò chơi cần hai người. Nghe tưởng buồn cười, nhưng những hoạt động cần một người như khi bé vẽ, tô tranh, tự đọc sách, chơi đàn... thì bố không nên ngồi cạnh canh xem con làm thế nào. Cũng giống như khi bạn làm việc, bạn không muốn bị ai theo dõi. Bé cũng vậy.
father-and-daughter-eKKVu-2160-7223-6745
Ảnh minh họa: Instablog.com.
Trẻ hai tuổi trở lên đã có thể đi bộ được 2 km và cần được luyện tập như thế để phát triển thể chất. Hướng dẫn con chơi các trò chơi dân gian như chi chi chành chành, chơi chuyền, chơi ô ăn quan, chơi bắn bi, bịt mắt bắt dê... Những trò chơi này không tốn kém, lại rất vui trong những ngày phải ở trong nhà.
Giới thiệu cho con những bản nhạc, bài hát mình yêu thích, đương nhiên là có chọn lọc, hai bố con nằm nghe nhạc với nhau. Bố kể cho con nghe những kỷ niệm gắn với những bài hát đó. Cùng con làm các nhạc cụ tự tạo rồi rủ mẹ vào ban nhạc cây nhà lá vườn. Hoặc chỉ đơn giản là bật nhạc và cả nhà cùng nhảy múa.
Đọc sách cho con nghe là trải nghiệm tuyệt vời cho cả bố và con. Hai bố con cùng đi mua sách, hướng dẫn con chọn sách có ảnh chụp thật, nội dung phù hợp với lứa tuổi, chỉ cho con xem giá tiền, để con tự trả tiền.
Hướng dẫn con làm những thí nghiệm khoa học phù hợp với độ tuổi, nhưng không bao giờ giải thích mà để trẻ tự khám phá như làm cầu vồng bằng đĩa CD chiếu lên tường nhà cho con đuổi cầu vồng. Tại sao khi bố quay đĩa sang chỗ khác thì lại không có cầu vồng? Xay sinh tố cho vào tủ làm kem. Tại sao bây giờ bố rót mà kem lại không chảy nhỉ? Hòa muối vào nước để làm "biển Chết" và mọi thứ lúc trước chìm thì bây giờ nổi. Sao thế nhỉ? Chuyện gì đã xảy ra? Để bé tự suy nghĩ.
Nếu bé thích, cho bé tự nghiên cứu cái xe đạp của mình, gọi tên các bộ phận, lật ngửa xe xem xích xe, phanh hoạt động thế nào. Hai bố con cùng rửa xe đạp, xe máy, ôtô. Không phải vì tiếc tiền mà bạn đang tạo công ăn việc làm đồng thời trang bị một vốn từ kha khá cho bé qua việc đó. Vừa vui vừa là việc thật.
Trời nắng nóng, bơm bể vầy, bật nhạc, pha một bình nước chanh, mang đồ chơi nước thả hết vào bể, hai bố con cùng tận hưởng bể bơi riêng nhà mình. Đố con biết tại sao nước làm tuốc bin quay? Tại sao lúc thì tuốc bin quay nhanh, lúc thì quay chậm? Con thử ước lượng xem mấy cốc nước mới đầy cái chai rỗng này? Đố con biết cốc nào đựng được nhiều nước hơn. Đố con biết những con gì sống ở dưới nước? Con gì sống ở nước mặn? Con gì sống ở nước ngọt? Tại sao nước biển lại mặn? Nước con đang bơi là nước lấy từ đâu?
Thỉnh thoảng để con thức khuya, cùng con ngắm trăng sao, nhất là những đêm rằm. Đi dạo dưới ánh trăng rằm là một điều kỳ diệu. Kể cho con nghe về các hành tinh, về các ngôi sao, về mặt trăng, mặt trời. Tại sao có hôm mình nhìn thấy nhiều sao có hôm không? Trăng khuyết trăng tròn là vì lý do gì? Kể về những con tàu vũ trụ đang ở trên không trung, và giúp con hiểu trái đất thật là bé nhỏ trong vũ trụ bao la, có thể đâu đó có những nền văn minh khác chỉ là chúng ta chưa biết hết thôi, con yêu.
Thỉnh thoảng hai bố con rủ thêm bạn đến nhà và cắm trại giữa phòng khách. Ăn trong lều, ngủ trong lều, chơi trong lều. Kể cho con nghe về các bộ lạc luôn sống trong lều. Lều của họ làm bằng gì, họ sống ở đâu, nguy hiểm thế nào? Các em bé ở đó phải vất vả ra sao để đi lấy nước, lấy củi, săn bắn, hái lượm, cho con xem hình ảnh minh họa trên máy tính.
Dành một ngày trong tuần là thời gian chỉ có hai bố con đi picnic, đi câu cá, đi thăm một ngôi chùa, đi xem phim và ăn bỏng ngô, sưu tầm cái gì đó ví dụ cánh phượng các màu và chỉ cho con xem sự khác biệt giữa các sắc đỏ. Làm con quay bằng đài hoa bằng lăng, đi sờ ve, chèo thuyền ra đầm mua sen, làm thuyền lá sen, đếm cánh hoa sen rụng, xếp cánh hoa theo trật tự từ nhỏ đến lớn...
Cứ như thế, bất cứ cái gì xung quanh cũng đều có thể biến thành trò chơi thú vị trong mắt trẻ nếu bố hiểu và dành thời gian cho con mình, giúp con học kiến thức của nhân loại một cách đơn giản nhất có thể mà lại chẳng tốn kém. Nếu bạn làm như thế trong suốt những năm trẻ 0-6 tuổi, bạn đã giúp con tích góp được một vốn kiến thức khổng lồ, sẵn sàng cho việc học sau này. Như thế không một em bé nào sẽ chán học.

Cách để trở thành ông bố tuyệt vời

Là người cha tốt là một trong những thành tựu quan trọng nhất trong cuộc đời người đàn ông.
Dưới đây là vài ý tưởng ​​giúp chuyển bạn từ "tốt" đến "tuyệt vời" trong mắt con.

1. Chào hỏi con thật âu yếm
Khi bạn bước về nhà sau một ngày dài làm việc, hãy dành một vài phút để ôm hôn và chào hỏi con. Khi một người cha về nhà, nếu anh ấy dành tặng cho con gái những cái ôm và nụ hôn, cô bé sẽ cười khúc khích và tràn ngập niềm vui. Đó là khi bạn nói, "Hôm nay con thế nào, công chúa nhỏ của bố" và "Con có biết bố yêu con thế nào không?". Đừng quên chào hỏi con trai của bạn bằng cách cù vào xương sườn của bé. Cũng đừng quên hỏi "Con có khỏe không, cậu bé của bố" và "Bố yêu con rất nhiều". Biết được rằng cha yêu chúng sẽ khiến lũ trẻ có được niềm hạnh phúc không gì sánh được.
Bạn phải làm thế nào khi con đã đến tuổi vị thành niên?
Có thể, con bạn sẽ không nói ra, nhưng chúng rất cần sự quan tâm, chú ý từ bạn. Ngay cả khi chúng chống cự, chỉ cần bỏ qua những thái độ tiêu cực đó. Ôm con gái của bạn và nói với con rằng con thật xinh đẹp, cha thật may mắn khi là cha của con. Hãy làm con gái thấy hối hận về những thái độ tiêu cực và không lặp lại nữa. Hãy để con cảm thấy tình yêu của bạn. Với một cậu con trai tuổi teen, cậu bé khao khát sự chấp thuận của bạn, nhưng sẽ không bao giờ nói ra. Vì vậy, hãy tiếp thêm sức mạnh cho con trai bằng một cái ôm hoặc một cú đập tay. "Con sao rồi, con trai?". "Bố chắc chắn rằng bố rất yêu con, con trai ạ". Tình yêu ấy sẽ in sâu vào trái tim và khiến cậu bé không bao giờ quên được.
2. Hãy làm việc cùng con
Điều này sẽ giúp ích khi cô bé hay cậu bé không thể hoàn toàn tập trung. Mua ống nước tại một cửa hàng thật đơn giản. Đó cũng là thời điểm bạn có thể dạy cho con làm những gì bạn đang làm với những đồ mà bạn có. Học một vài thủ thuật sẽ cung cấp những kỹ năng giá trị cho tương lai của các bé.
chacon-7649-1402287615.jpg
Thậm chí bạn có thể làm nhiều hơn thế như khi đi xe cùng nhau, lắng nghe con mình. Hãy sẵn sàng để cho trẻ huyên thuyên về bất cứ điều gì chúng muốn mà không chỉ trích. Những dịp được tiếp xúc gần nhau sẽ khiến bạn và con trở nên yêu thương và hiểu nhau hơn. Bên cạnh đó, chúng sẽ cảm thấy được nuông chiều. Đừng quên dạy bảo con những bài học hay trên đường. Điều đó thậm chí làm cho chuyến đi của bạn đáng nhớ hơn.  
3. Kể cho con những câu chuyện về cuộc sống của bạn
Nếu con đã lớn hơn, hãy bắt đầu kể. Trẻ sẽ cảm thấy gần gũi hơn với không chỉ cha mà còn cả gia đình lớn khi nghe bạn kể những câu chuyện về thời thơ ấu của mình. Nếu kể những câu chuyện vui, hãy tập hợp tất cả hình ảnh sinh động và vui vẻ. Nếu bạn hoặc cha của bạn đều phục vụ trong quân đội, hãy kể cho con biết điều này. Hãy kể cho con biết, những gì con cần làm để bảo vệ độc lập, tự do. Hãy chia sẻ cuộc sống của bạn với con, cho con xem những bức ảnh nếu có thể. Hãy kể thành những câu chuyện ngắn và con bạn chắc chắn sẽ muốn nghe nữa.
4. Dạy con cách làm việc
Không chỉ dạy con cách làm việc mà còn chỉ cho con cách hoàn thành công việc dễ dàng hơn. Hãy để chúng đi bên cạnh bạn khi bạn giải thích thế nào là một công việc đã được thực hiện tốt. Khi các con học, cho phép các con mắc lỗi mà đừng đánh đập, chửi mắng. Yêu thương nhưng không nuông chiều con. Cuộc sống đầy rẫy những công việc phải làm. Một đứa trẻ biết học cách làm việc sớm hơn, nó sẽ có một cuộc sống hạnh phúc và thành công hơn. 

Quỳnh Trang (Theo familyshare)

Những điều giản dị dạy con yêu nước

Yêu quê hương là giúp con trải nghiệm khác biệt của những vùng miền địa lý khác nhau, hiểu đất nước hình chữ S phong phú đa dạng ra sao.

Giáo dục lòng yêu nước là bài học kỹ năng sống tất cả mọi người quanh trẻ cần hướng dẫn cho bé ngay từ khi còn nằm trong bụng mẹ, để khi lớn lên trẻ đã có một kim chỉ nam cho mình. Yêu quê hương trước tiên là ông bà bố mẹ phải nói tiếng Việt chuẩn, nhưng chuẩn vẫn chưa đủ mà nói tiếng Việt hay cho con nghe. Từ khi mang thai, bố mẹ đã có thể hát ru con, đọc sách, kể chuyện cho con nghe, về tháng tư mùa hoa loa kèn, tháng năm hoa phượng bằng lăng nở rộ, và lũ ve bắt đầu ca lên bài ca mùa hè náo nức... Cứ như thế ngay từ nhỏ con đã ngấm được một vốn từ giàu có của tiếng Việt.
Yêu quê hương là giúp con trải nghiệm ẩm thực Việt Nam với những món ăn khắp mọi miền đất nước và không chê bai đồ ăn vùng này vùng kia không ngon vì không hợp khẩu vị. Món ăn ở đâu sẽ mang theo ảnh hưởng bởi khí hậu, thực phẩm, văn hóa, nếp sinh hoạt... của người vùng đó. Nếu mỗi khi ăn một món lạ, bạn được ai đó giải thích cặn kẽ để hiểu được những điều sâu xa đằng sau, không ai là không muốn thử món ăn đó.
anh-be-yeu-nuoc-1-1911-1401178786.jpg
Ảnh minh họa:  Lê Mai Hương.
Yêu quê hương là giúp con trải nghiệm tất cả sự khác biệt của những vùng miền địa lý khác nhau, để từ bé con hiểu đất nước hình chữ S của mình phong phú đa dạng ra sao. Treo bản đồ Việt Nam lên tường ở mức con có thể nhìn thấy để ngay từ khi lọt lòng con đã có thể nhìn thấy Việt Nam. Kể cho con nghe về những chuyến đi công tác, những điều bạn đọc được về em bé ở các vùng, về cả những điều tốt đẹp và những khó khăn. Như em bé đi học bằng túi ni lông, phải kéo dây, chèo đò, lội suối nhưng vẫn vui vẻ hồn nhiên và cười rạng rỡ. Yêu quê hương là giúp con từ nhỏ biết Việt Nam chỉ là một đất nước trên bản đồ thế giới, nhưng Việt Nam nằm ở đây, chỗ này con yêu, và con đang sống ở đó với gia đình mình.
Yêu quê hương là giúp con học về những họa sĩ, nhà văn, nhà thơ, nghệ sĩ, nhà khoa học, các nghệ nhân làng nghề... nổi tiếng của Việt Nam để con thấy tự hào đất nước mình cũng có những người tài ba lỗi lạc. Đưa con đi xem triển lãm tranh, thăm các bảo tàng, đi thăm các làng nghề truyền thống để tự tay làm một món đồ, nghe các nghệ nhân nói chuyện...
Yêu quê hương là luôn làm mẫu và giúp con thực hành văn hóa Việt Nam, biết chia sẻ, biết kính trên nhường dưới, biết lễ phép, biết chăm sóc mọi người, thân thiện, hiếu khách, yêu lao động và luôn luôn vươn lên.
Yêu quê hương là hiểu và sử dụng sáng tạo những nguyên vật liệu thể hiện văn hóa Việt Nam thay vì đồ đi nhập. Mỗi quyết định tiêu dùng của bạn có thể tạo việc làm cho người Việt Nam khác và để duy trì dược các làng nghề truyền thống cho muôn đời sau. Thật đáng tiếc khi ra nước ngoài nhìn thấy nhiều đồ sản xuất tại Việt Nam bán hơn là trong một ngôi nhà của người Việt Nam, ngay giữa Việt Nam.
Yêu quê hương là cùng chơi những trò chơi dân gian với con để không phụ thuộc vào đồ chơi nhựa, mà bất cứ cái gì cũng có thể thành trò chơi thú vị cho con. Yêu quê hương là biết bảo vệ môi trường, tiêu dùng tiết kiệm mọi nguồn tài nguyên thiên nhiên. Biết trân trọng những gì đất nước mình đang có. Ngay từ nhỏ hãy nói cho con biết rằng nước ngọt, không khí sạch, khí đốt, dầu mỏ... đều là những nguồn tài nguyên có hạn. Hình thành các thói quen bảo vệ môi trường, vứt rác đúng chỗ, không sử dụng những đồ có hóa chất độc hại, không mua, bán, ăn những động vật quý hiếm khi đi du lịch...
Yêu quê hương là giúp con nhìn ra những điểm mạnh và cả những điểm yếu của quê hương mình nhưng không phán xét, không chê bai mà chỉ cho con biết thực trạng là như vậy. Đất nước nào cũng như bất cứ cá nhân nào đều có điểm mạnh và điểm yếu. Để bé tự hỏi mình sau này lớn lên sẽ làm gì để thay đổi những điểm yếu đó. Em bé 3 tuổi rưỡi hỏi “Mẹ ơi, sao con ông lão ăn mày không nấu cơm cho ông lão hả mẹ?”; “Mẹ không biết con yêu, nhưng mẹ con mình có thể mời ông gói bánh con mang trong ba lô có được không?”; “Con đồng ý ạ.”. Tuổi nhỏ làm việc nhỏ, lớn mới làm được việc lớn.
Làm cha mẹ, nhiệm vụ của chúng ta là nuôi dạy con để độc lập, mỗi một công dân đều có thể tự lập, cả dân tộc chúng ta sẽ tự lập. Nếu người Việt Nam không yêu đất nước Việt Nam, không cố gắng xây dựng phát triển Việt Nam thì trông chờ ai làm điều đó?
Hãy giúp con học cách yêu thương quê hương mình để sau này bé có thể tự hào nói “Tôi là người Việt Nam. Tôi tự hào là người Việt Nam” khi ra cộng đồng quốc tế.

Lê Mai Hương
Giáo viên Montessori

9 bài học quan trọng cha nên dạy con gái

Cha phải giúp con gái mình nhận ra điểm đặc biệt của bản thân, hiểu rằng con là đặc biệt và duy nhất. 

Jim Valvano (một bình luận viên bóng rổ, từng là huấn luyện viên có sự nghiệp lừng lẫy) nói: "Cha tôi đã cho tôi một món quà quý giá nhất trên đời, đó là luôn luôn tin tưởng ở tôi".

Mỗi người cha giữ một vai trò độc tôn trong cuộc sống của con mình, như một "superman" trong mắt con. Đặc biệt, cha là người đàn ông đầu tiên mà con gái nhìn thấy trong cuộc đời nên họ cần có trách nhiệm sống cho con mình thấy thế nào là đàn ông thực thụ, giúp con có đủ tự tin để đối mặt với thế giới bằng niềm vui và sức mạnh. Đây chính là một trong những bài học quan trọng đầu tiên mà một người cha cần phải dạy cho con gái mình ngay từ khi chúng bước vào cuộc đời:

1. Chỉ cho con thấy rằng con rất đặc biệt
Mỗi người sinh ra đều có nét đặc biệt riêng. Điều quan trọng là tìm ra được điểm đặc biệt đó. Cha phải giúp con mình nhận ra điểm đặc biệt của bản thân và hiểu được rằng họ đặc biệt và duy nhất. Một người cha tốt nên yêu và học cách chấp nhận bản tính của con gái mình. Chắc chắn điều đó sẽ làm cho bé cảm thấy mình toàn diện và hạnh phúc. Tình yêu mà cha mẹ dành cho con cái sẽ dạy chúng biết yêu thương chính mình và người khác. Thái độ sống tích cực sẽ giúp trẻ biết cách nhìn nhận, đánh giá đúng các giá trị và có cái nhìn đúng đắn về thế giới.
Important Lessons Every Father Should Teach His Daughter
Ảnh: Womanitely.
2. Con xứng đáng với những điều tốt nhất trong cuộc sống này
Mỗi người cha đều nghĩ cô công chúa nhỏ của mình xứng đáng với những điều tốt đẹp nhất trong cuộc sống. Các ông bố nên cố gắng giúp con mình nhận thức về lòng tự trọng và thuyết phục con gái mình tin rằng mình xứng đáng được tôn trọng, xứng đáng được yêu và được trân trọng.
Hơn nữa, bản thân người con gái cần biết cách tận hưởng và quý trọng giây phút hiện tại như món quà tuyệt diệu nhất của cuộc sống. Nếu bạn muốn con gái mình hạnh phúc thì từ nhỏ hãy dạy chúng rằng đừng ám ảnh về những điều mà người ta nghĩ gì về mình. "Con có thể đón nhận mọi điều tốt đẹp mà con xứng đáng có được trong cuộc sống này".
3. Con đủ mạnh mẽ để vượt thắng khó khăn
Một trong những điều quan trọng nhất mà các ông bố nên dạy cho con gái mình là "Con đủ mạnh mẽ để sống và vượt qua những điều khó khăn". Hãy dạy con tự tin vào khả năng và không nên sợ hãi thất bại, đồng thời dạy cho họ hiểu đôi khi chúng ta sẽ phải đối mặt với những thăng trầm, nhưng không được để nỗi sợ hãi làm mình dừng bước.
Hiện nay, chúng ta thấy phái nữ cũng chiếm nhiều vị trí quan trọng trong xã hội, nắm trong tay quyền lực và sự tự tin. Quan điểm trọng nam khinh nữ đang dần bị xóa bỏ. Mặc dù vậy, trong gia đình, các ông bố luôn là những người có uy quyền trong mắt con gái của họ. Đó là nguyên nhân vì sao họ nên dạy con mình trở nên mạnh mẽ về cả thể chất và tinh thần.
4. Tự do nói lên suy nghĩ của mình
Đôi khi bạn thấy thật khó để vượt qua nỗi sợ hãi và không dễ dàng khi nói về những điều mình nghĩ hay cảm nhận thật sự. Khi còn là một đứa trẻ, trẻ thường ngại đặt ra những câu hỏi. Nhiều cô gái nhút nhát và dịu dàng, vì vậy những ông bố nên giúp con gái mình thoát khỏi sự do dự, ngại ngùng. Thay vào đó hãy dạy chúng nói về những suy nghĩ của mình ở gia đình và bạn cần lắng nghe một cách chăm chú.
5. Nên có tinh thần tự giác
Tinh thần tự giác là một trong những điều quan trọng và là kỹ năng cần thiết với mỗi người. Điều đó cũng phụ thuộc vào việc bạn giúp con gái mình trở thành người có tính tự giác.
Tính tự giác có nghĩa tự kiểm soát chính mình, là một dấu hiệu của sức mạnh nội tâm và kiểm soát cuộc sống. Thái độ cứng rắn có chừng mực của người bố là yếu tố cần thiết để dạy con gái mình trở thành người có nguyên tắc, có kỷ luật. Đừng cố gắng trở thành những người cha quá dễ dãi hay quá hà khắc với con.
6. Phải giữ vững lập trường
Người cha số một là người biết cách bảo vệ gia đình mình. Mỗi người nên tập để có được kỹ năng giữ vững lập trường của mình. Người cha phải dạy cho con gái mình biết bảo vệ bản thân hoặc bảo vệ những người họ yêu quý bởi cuộc sống đầy rẫy xung đột và không thể đoán trước được điều gì sẽ xảy ra. 
7. Tự lập
Bài học này cũng thật sự quan trọng với con gái bạn. Cần cho con gái bạn nhận ra rằng con không nên phụ thuộc vào bất kỳ người đàn ông nào. Người cha nên giúp đỡ con mình nhận ra điều này, nhưng cũng không nên hành động như một cái máy ATM mỗi khi con gái mình gặp vấn đề. Các ông bố phải dạy con mình độc lập về mặt tài chính, không cần đến tiền của đàn ông cho bất kỳ thứ gì. Thêm vào đó, con gái cũng cần được dạy những kỹ năng cơ bản để tiết kiệm tiền và chi tiêu phù hợp.
8. Tự tin
Tự tin là hành trang cho con gái bạn. Đó là nền tảng của hạnh phúc và chìa khóa để có được thành công trong tương lai. Mỗi người cha nên nói với con mình rằng con là người phụ nữ xinh đẹp và thông minh nhất trên trái đất. Điều đó sẽ làm tăng sự tự tin ở con bạn và tạo nên sự thành công trong mọi lĩnh vực của cuộc sống. Các cô gái đều muốn được yêu, được trân trọng, đặc biệt từ người thân yêu và người mình yêu. Hãy để con gái bạn trở nên tự tin hơn, chắc chắn bạn sẽ tự hào về con mình.
9. Tình yêu thật sự là tình yêu vô điều kiện
Nicholas Sparks từng nói: "Để trở thành cha mẹ là điều khó nhất trên đời mà bạn phải làm, nhưng đổi lại nó dạy bạn biết ý nghĩa của tình yêu vô điều kiện". "Tôi nghĩ rằng mỗi ông bố đều biết một tình yêu thật sự vô điều kiện là khi ông ấy sẵn sàng yêu vợ, yêu mẹ, yêu con gái, yêu anh chị em. Bây giờ, họ có trách nhiệm dạy cho con mình biết tình yêu thật sự là gì. Nó sẽ hình thành nên cái nhìn về một thứ tình cảm vô điều kiện trong tâm trí trẻ. Bằng cách này, bạn sẽ phát triển và bồi bổ thế giới nội tâm của con gái mình".
Tóm lại, hãy cho dạy con gái trở thành cây hoa đẹp nhất trong cuộc sống của bạn. Mỗi người cha nên đủ mạnh mẽ để giúp con mình có sự tự tin, sự độc lập và tính kỷ luật.
Thi Trân (Theo Womanitely)