Showing posts with label News. Show all posts

Thread trong C#

thuvienwinform - Thread cho phép thực hiện cùng lúc nhiều công việc song song với nhau mà không bị đơ, lag (lác :D), gián đoạn. Nó đặc biệt quan trọng trong lập trình mạng, các ứng dụng đỏi hỏi thực hiện công việc nặng nhọc, duyệt vòng lặp lớn (lặp vài trăm nghìn lần như duyệt các thư mục), nếu không dùng thread thì chương trình sẽ không thể tương tác được, có thể rơi vào trạng thái không phản hồi (Not Responding - Cái này quen quen). Nhờ có Thread mà ứng dụng trở nên mượt hơn, hạn chế đơ, lag, sử dụng CPU hiệu quả hơn với lập trình winform.



- Để sử dụng thread ta khai báo using System.Threading;
- Số thread tối đa cho 1 chương trình:
+ Với .NET2.0 là 25.
+ Với .NET3.5 là 250.
+ Với .NET4.0 (32bit) là 1023.
+ Với .NET4.0 (64bit) là 32768.
+...

1/ Tạo thread mới để chạy 1 hàm, thủ tục
- Cho hàm, thủ tục không có tham số truyền vào

Thread t1;
t1 = new Thread(ThuTuc1);
với ThuTuc1 là một thủ tục (void) không có tham số truyền vào

Các ví dụ dưới đây sẽ dùng thread t1 này là ví dụ ạ

- Cho hàm, thủ tục có tham số truyền vào (Sử dụng Lambda Expresstion)

t1 = new Thread();
t1 = new Thread((ThreadStart) =>
    {
        ThuTuc2("Truyen vao");
    });
2/ Chạy thread đó
- Sau khi tọa được thread rùi ta có thể cho nó bắt đầu chạy:

t1.Start();

3/ Dừng thread

t1.Abort();

4/ Tạm dừng thread

t1.Suspend();
Tạm dừng cho đến khi
t1.Resume();


5/ Mức độ ưu tiên của thread (Thread Priority)
- Khi sử dụng nhiều thread thì ta cài đặt độ ưu tiên thực thi của các thread

t1.Priority = ThreadPriority.Lowest;
- Có các giá mức ưu tiên: Lowest, BelowNormal, Normal, AboveNormal, Hightest


6/ Join
- Cái này nó sẽ làm như sau: Những thread dưới câu lệnh Join() sẽ được start sau khi các thread trên câu lệnh join chạy xong

7/ Thoát chương trình nhưng thread vẫn chạy
- Thread có 2 loại: ForeGround và BackGround.
+ Chương trình sẽ tắt khi các ForeGround thread chạy xong
+ Còn các BackGroud Thread sẽ dừng lại khi tắt chương trình.

- Lí do là khi ta tạo 1 thread nó mặc định là loại ForeGround
- Để khi tắt chương trình các thread cũng dừng thì ta sẽ chuyển các thread sang BackGround như sau:

t1.IsBackground = true;
t1.Start();
Chuyển thread thành background trước khi start

8/ Thread Pooling
- Cái này hơn rất rất nhiều. Có thể nói nó tối ưu thread.
- Thread Pooling mặc định là loại BackGround
- Sau khi kết thúc một tác vụ nó sẽ trở về trạng thái sẵn sàng nhận một nhiệm vụ mới
- Chạy một thủ tục, hàm bằng Thread Pooling (thủ tục, hàm phải có đầu vào là 1 Object)

private void Button1_Click()
{
    ThreadPool.QueueUserWorkItem(ThreadPooling, "Test");
   //Hoặc: ThreadPool.QueueUserWorkItem(ThreadPooling);
}
private void ThreadPooling(object obj)
{
    MessageBox.Show(obj.ToString());
}

Nguồn: YinYang's Blog
4/18/2014
Đăng bởi :
Nhãn : ,

NVNhan's Blog đăng loạt bài giới thiệu và hướng dẫn từng bước xây dựng một website bằng ASP MVC


thuvienwinform - Ngôn ngữ C# ngoài lập trình cho winform còn lập trình được cho cả webform (tức các trang web). Được phát triển bởi Microsoft, hiện nay các trang web viết bằng ASP MVC ngày càng nhiều. Công nghệ MVC mang lại cho coder cách tổ chức code khoa học hơn. Hiện nay blog NVNhan đang đăng các bài viết hết sức cơ bản dành cho các bạn mới làm quen với ASP, ASPMVC có một cách tiếp cận nhanh nhất với việc lập trình web. Mời các bạn đón đọc tại:
hoặc


Giao diện NVNhan's Blog

Với tiêu chí ngắn gọn, xúc tích, đơn giản và dễ hiểu. Các bài viết trên blog sẽ trang bị cho bản các kiến thức hết sức cơn bản về lập trình web, từ lúc bắt đầu tạo project đến lúc hoàn thành ra sản phẩm.
Kính mời các bạn đón đọc!
4/10/2014
Đăng bởi :
Nhãn :

[TFS] Giới thiệu về Team Foudation Server

Các thành phần trong giải pháp ALM của Microsoft

thuvienwinform - Với các nhóm lập trình, dù ít hay nhiều thành viên thì công cụ để làm việc nhóm là hết sức quan trọng, với nhóm code đơn thuần thì có thể sử dụng SVN Server là đủ rùi nhưng với nhóm đầy đủ gồm đội phân tích thiết kế, code, test,...thì SVN sẽ không đáp ứng được yêu cầu mà cần cộng cụ nhiều chức năng hơn! Và Team Foundation Server (TFS) là lựa chọn tối ưu trong trường hợp này. Chức năng chính của nó là quản lí, tạo môi trường làm việc phát triển phần mềm theo nhóm dựa trên khung làm việc Scrum. Trong thời gian tới thuvienwinform xin được giới thiệu đến bạn đọc việc cấu hình, cài đặt cũng như sử dụng TFS. Triển khai nó lên máy server để các thành viên trong nhóm đều có thể làm việc cùng nhau online luôn.

Dù mới chỉ 2 tuần sử dụng nhưng mình rất nóng lòng muốn gửi đến các bạn công nghệ TFS này. Các bài viết chắc chắn không tránh khỏi thiếu sót, rất mong nhận được sự đóng ghóp, chia sẻ!

- Một số bài viết yêu cầu tìm hiểu:
+ Scrum là gì?  http://hanoiscrum.net/hnscrum/gioi-thieu/scrum-lagi
+ Giới thiệu về Scrum với TFS: http://www.slideshare.net/duongtrongtan/scrumday-vietnam-2012-scrum-with-team-foundation-server-quang


Các công cụ của Scrum bao gồm các Product Backlog chứa các Sprint Backlock. Mỗi Sprint đều có các công việc và thời gian cụ thể. Các cuộc họp cho sprint được thực hiện thường xuyên (4 cuộc họp) lặp đi lặp lại giúp cho công việc luôn được kiểm soát, đưa ra giải pháp tối ưu nhất! 

TFS tạo môi trường làm việc có sự gắn kết cao giữa các đội! Với đội code có thể xem công việc (work items), quản lí code, chạy test, xem bug của đội test hoặc mời người khác xem code,...chống conflict khi nhiều coder submit cùng một lúc, và đặc biệt là tất cả được thực hiện ngay trong visual studio. Với đội test thì khu thực hiện test code thể gửi đến từng người trong đội code để yêu cầu sửa băng các bug, work items,...Công việc hết sức linh hoạt và nhanh chóng, tạo ra sự chuyên nghiệp trong việc phát triển phần mềm! Còn Product Owner thì có thể kiểm soát, giao việc,... ngay trên môi trường web.

Nhận ngay 100$ cho VPS

Mua hàng ủng hộ page

Ủng hộ page

Nhãn

Code (45) Team Foundation Server (17) Database (14) News (14) product (13) toolbox (10) Linq (9) SoftDesign (8) XNA (6) API (5) Project (5) item (4)

- Bản quyền thuộc về Thư Viện WinForm - Giao diện: Metrominimalist - Thiết kế: Johanes Djogan -