{"id":2117,"date":"2026-05-26T07:10:55","date_gmt":"2026-05-26T07:10:55","guid":{"rendered":"https:\/\/www.vpascode.com\/vn\/docs\/uncategorized\/plantuml-activity-diagram-syntax-guide\/"},"modified":"2026-05-26T07:10:55","modified_gmt":"2026-05-26T07:10:55","slug":"plantuml-activity-diagram-syntax-guide","status":"publish","type":"ld_docs","link":"https:\/\/www.vpascode.com\/vn\/docs\/vpascode-docs\/plantuml-activity-diagram-syntax-guide\/","title":{"rendered":"H\u01b0\u1edbng d\u1eabn c\u00fa ph\u00e1p s\u01a1 \u0111\u1ed3 ho\u1ea1t \u0111\u1ed9ng PlantUML"},"content":{"rendered":"<h2>S\u01a1 \u0111\u1ed3 ho\u1ea1t \u0111\u1ed9ng l\u00e0 g\u00ec?<\/h2>\n<p>M\u1ed9t <strong>S\u01a1 \u0111\u1ed3 ho\u1ea1t \u0111\u1ed9ng<\/strong> l\u00e0 m\u1ed9t s\u01a1 \u0111\u1ed3 h\u00e0nh vi <strong>s\u01a1 \u0111\u1ed3 UML<\/strong> ho\u1ea1t \u0111\u1ed9ng nh\u01b0 m\u1ed9t s\u01a1 \u0111\u1ed3 lu\u1ed3ng \u0111\u01b0\u1ee3c chu\u1ea9n h\u00f3a v\u00e0 m\u1ea1nh m\u1ebd cho c\u00e1c \u1ee9ng d\u1ee5ng ph\u1ea7n m\u1ec1m. L\u00e0 m\u1ed9t th\u00e0nh ph\u1ea7n then ch\u1ed1t trong ti\u00eau chu\u1ea9n Ng\u00f4n ng\u1eef m\u00f4 h\u00ecnh h\u00f3a th\u1ed1ng nh\u1ea5t (UML), n\u00f3 m\u00f4 t\u1ea3 lu\u1ed3ng ho\u1ea1t \u0111\u1ed9ng t\u1eebng b\u01b0\u1edbc c\u1ee7a m\u1ed9t th\u00e0nh ph\u1ea7n h\u1ec7 th\u1ed1ng, quy tr\u00ecnh kinh doanh ho\u1eb7c v\u00f2ng l\u1eb7p th\u1ef1c thi thu\u1eadt to\u00e1n. B\u1eb1ng c\u00e1ch theo d\u00f5i lu\u1ed3ng \u0111i\u1ec1u khi\u1ec3n tu\u1ea7n t\u1ef1 t\u1eeb \u0111i\u1ec3m kh\u1edfi \u0111\u1ea7u ban \u0111\u1ea7u \u0111\u1ebfn k\u1ebft lu\u1eadn cu\u1ed1i c\u00f9ng, lo\u1ea1i s\u01a1 \u0111\u1ed3 UML n\u00e0y <strong>lo\u1ea1i s\u01a1 \u0111\u1ed3 UML<\/strong> gi\u00fap c\u00e1c k\u1ef9 s\u01b0 ph\u1ea7n m\u1ec1m, nh\u00e0 qu\u1ea3n l\u00fd s\u1ea3n ph\u1ea9m v\u00e0 chuy\u00ean gia ph\u00e2n t\u00edch kinh doanh l\u1eadp b\u1ea3n \u0111\u1ed3 logic h\u1ec7 th\u1ed1ng ph\u1ee9c t\u1ea1p, x\u00e1c \u0111\u1ecbnh c\u00e1c tr\u01b0\u1eddng h\u1ee3p bi\u00ean, v\u00e0 tr\u1ef1c quan h\u00f3a t\u00e1ch bi\u1ec7t c\u00e1c \u0111\u01b0\u1eddng th\u1ef1c thi song song tr\u01b0\u1edbc khi vi\u1ebft b\u1ea5t k\u1ef3 d\u00f2ng m\u00e3 logic ph\u00eda backend n\u00e0o.<\/p>\n<p>V\u1edbi <strong>VPasCode<\/strong>, b\u1ea1n kh\u00f4ng c\u1ea7n ph\u1ea3i s\u1eafp x\u1ebfp th\u1ee7 c\u00f4ng c\u00e1c h\u1ed9p lu\u1ed3ng, t\u00ednh to\u00e1n giao nhau c\u1ee7a c\u00e1c m\u0169i t\u00ean hay c\u00e2n b\u1eb1ng kho\u1ea3ng c\u00e1ch b\u1ed1 c\u1ee5c. B\u1ed9 x\u1eed l\u00fd s\u1eed d\u1ee5ng ti\u00eau chu\u1ea9n \u0111\u1ecbnh d\u1ea1ng gi\u1ed1ng nh\u01b0 k\u1ecbch b\u1ea3n hi\u1ec7n \u0111\u1ea1i \u0111\u1ec3 t\u1ea1o ngay l\u1eadp t\u1ee9c c\u00e1c vector b\u1ed1 c\u1ee5c s\u1ea1ch s\u1ebd, d\u1ec5 \u0111\u1ecdc cao khi b\u1ea1n \u0111ang l\u1eadp tr\u00ecnh.<\/p>\n<h2>H\u01b0\u1edbng d\u1eabn c\u00fa ph\u00e1p c\u1ed1t l\u00f5i: C\u00e1c th\u00e0nh ph\u1ea7n v\u00e0 c\u1ea5u tr\u00fac<\/h2>\n<p>\u0110\u1ec3 thi\u1ebft k\u1ebf m\u1ed9t s\u01a1 \u0111\u1ed3 ho\u1ea1t \u0111\u1ed9ng UML tinh t\u1ebf, tu\u00e2n th\u1ee7 chu\u1ea9n trong PlantUML, b\u1ea1n c\u1ea7n th\u00e0nh th\u1ea1o c\u00e1c \u0111i\u1ec3m ki\u1ec3m tra th\u1ef1c thi, tr\u1ea1ng th\u00e1i ho\u1ea1t \u0111\u1ed9ng, nh\u00e1nh \u0111i\u1ec1u ki\u1ec7n, chia t\u00e1ch song song v\u00e0 c\u00e1c l\u00e0n d\u1ecdc (swimlanes) th\u1eb3ng \u0111\u1ee9ng.<\/p>\n<h3>1. C\u00e1c \u0111i\u1ec3m ki\u1ec3m tra th\u1ef1c thi v\u00e0 c\u00e1c ho\u1ea1t \u0111\u1ed9ng c\u01a1 b\u1ea3n<\/h3>\n<p>Kh\u00e1c v\u1edbi c\u00e1c k\u00fd hi\u1ec7u UML truy\u1ec1n th\u1ed1ng, c\u00e1c \u0111o\u1ea1n m\u00e3 ho\u1ea1t \u0111\u1ed9ng hi\u1ec7n \u0111\u1ea1i s\u1eed d\u1ee5ng c\u00e1c th\u1ebb l\u1ec7nh r\u00f5 r\u00e0ng, tr\u1ef1c ti\u1ebfp \u0111\u1ec3 \u0111\u00e1nh d\u1ea5u ranh gi\u1edbi c\u1ee7a quy tr\u00ecnh l\u00e0m vi\u1ec7c c\u1ee7a b\u1ea1n. M\u1ed9t n\u00fat ho\u1ea1t \u0111\u1ed9ng \u0111\u01b0\u1ee3c x\u00e1c \u0111\u1ecbnh \u0111\u01a1n gi\u1ea3n b\u1eb1ng c\u00e1ch \u0111\u1eb7t v\u0103n b\u1ea3n b\u00ean trong d\u1ea5u hai ch\u1ea5m v\u00e0 d\u1ea5u ch\u1ea5m ph\u1ea9y \u1edf cu\u1ed1i:<\/p>\n<div class=\"vpascode-viewer-container vpascode-fancy-active\">\n<div class=\"vpascode-header\">\n<span class=\"vpascode-lang-label\">Plantuml<\/span><br \/>\n<a class=\"vpascode-fancy-btn\" href=\"https:\/\/www.vpascode.com\/editor\/#plantuml:Aov9B2hXvRBopCiioKpCoQnALN0iACZ9J4uioSpFKt3Epoj9hIYn1ghmoKzCKV39JqxC0OccPQQN5a7L92Pdf09L59Va5m00\" rel=\"noopener noreferrer\" target=\"_blank\"><br \/>\n<svg fill=\"none\" height=\"14\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2.5\" style=\"margin-right: 8px;\" viewbox=\"0 0 24 24\" width=\"14\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg><br \/>\n<span>Ch\u1ec9nh s\u1eeda Plantuml trong VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<div class=\"vpascode-code-wrapper\">\n            <div class=\"vpascode-viewer-container vpascode-fancy-active\">\r\n                                <div class=\"vpascode-header\">\r\n                    <span class=\"vpascode-lang-label\">Plantuml<\/span>\r\n                    <a href=\"https:\/\/www.vpascode.com\/editor\/#plantuml:Aov9B2hXvRBopdYuUtwcGid3NGlp5VBI7-vUhv3ySDVYl0o5XxjNvgKhf3pSlJGltHgeyiY4XxjxanMI7kwUgN1auiFTxRaWbKjB5J8Ehm4gJmOgXCW25HUNv1S00000\" \r\n                       target=\"_blank\" \r\n                       rel=\"noopener noreferrer\" \r\n                       class=\"vpascode-fancy-btn\">\r\n                        <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"margin-right: 8px;\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg>\r\n                        <span>Edit Plantuml in VPasCode<\/span>\r\n                    <\/a>\r\n                <\/div>\r\n                                <div class=\"vpascode-code-wrapper\">\r\n                    <pre class=\"lang-plantuml\"><code class=\"language-plantuml\" data-language=\"plantuml\" class=\"language-plantuml\">start\r\n:Kh\u1edfi t\u1ea1o ng\u1eef c\u1ea3nh \u1ee9ng d\u1ee5ng;\r\n:\u0110\u1ecdc b\u1ed9 \u0111\u1ec7m c\u1ea5u h\u00ecnh c\u1ee5c b\u1ed9;\r\nstop<\/code><\/pre>                <\/div>\r\n                <div class=\"vpascode-actions\">\r\n                    <a href=\"https:\/\/www.vpascode.com\/editor\/#plantuml:Aov9B2hXvRBopdYuUtwcGid3NGlp5VBI7-vUhv3ySDVYl0o5XxjNvgKhf3pSlJGltHgeyiY4XxjxanMI7kwUgN1auiFTxRaWbKjB5J8Ehm4gJmOgXCW25HUNv1S00000\" \r\n                       target=\"_blank\" \r\n                       rel=\"noopener noreferrer\" \r\n                       class=\"vpascode-fancy-btn\">\r\n                        <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"margin-right: 6px;\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg>\r\n                        <span>Edit Plantuml in VPasCode<\/span>\r\n                    <\/a>\r\n                <\/div>\r\n            <\/div>\r\n            \n<\/p><\/div>\n<div class=\"vpascode-actions\">\n<a class=\"vpascode-fancy-btn\" href=\"https:\/\/www.vpascode.com\/editor\/#plantuml:Aov9B2hXvRBopCiioKpCoQnALN0iACZ9J4uioSpFKt3Epoj9hIYn1ghmoKzCKV39JqxC0OccPQQN5a7L92Pdf09L59Va5m00\" rel=\"noopener noreferrer\" target=\"_blank\"><br \/>\n<svg fill=\"none\" height=\"14\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2.5\" style=\"margin-right: 6px;\" viewbox=\"0 0 24 24\" width=\"14\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg><br \/>\n<span>Ch\u1ec9nh s\u1eeda Plantuml trong VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<\/div>\n<p id=\"HWZQlpm\"><img alt=\"\" class=\"alignnone size-full wp-image-566\" decoding=\"async\" height=\"172\" src=\"https:\/\/www.vpascode.com\/wp-content\/uploads\/2026\/05\/img_6a18fe195d7e4.png\" width=\"212\"\/><\/p>\n<h3>2. C\u00e1c nh\u00e1nh logic \u0111i\u1ec1u ki\u1ec7n (if \/ else \/ switch)<\/h3>\n<p>\u0110\u1ec3 nh\u00e1nh logic \u0111i\u1ec1u khi\u1ec3n c\u1ee7a b\u1ea1n d\u1ef1a tr\u00ean c\u00e1c tham s\u1ed1 ho\u1ea1t \u0111\u1ed9ng, h\u00e3y s\u1eed d\u1ee5ng c\u00e1c v\u00f2ng l\u1eb7p c\u00fa ph\u00e1p l\u1eadp tr\u00ecnh chu\u1ea9n. B\u1ea1n c\u00f3 th\u1ec3 th\u00eam nh\u00e3n b\u00ean trong d\u1ea5u ngo\u1eb7c \u0111\u01a1n \u0111\u1ec3 ch\u1ec9 ra c\u00e1c ti\u00eau ch\u00ed \u0111\u00e1nh gi\u00e1 c\u1ee5 th\u1ec3 c\u1ea7n thi\u1ebft \u0111\u1ec3 \u0111i qua m\u1ed9t \u0111\u01b0\u1eddng m\u0169i t\u00ean:<\/p>\n<ul>\n<li><strong>C\u00e1c nh\u00e1nh nh\u1ecb ph\u00e2n (if \/ elseif \/ else):<\/strong> L\u00fd t\u01b0\u1edfng cho c\u00e1c ki\u1ec3m tra x\u00e1c th\u1ef1c \u0111\u01a1n gi\u1ea3n \u0111\u00fang\/sai:\n<div class=\"vpascode-viewer-container vpascode-fancy-active\">\n<div class=\"vpascode-header\">\n<span class=\"vpascode-lang-label\">Plantuml<\/span><br \/>\n<a class=\"vpascode-fancy-btn\" href=\"https:\/\/www.vpascode.com\/editor\/#plantuml:oqnJqF0iLWZ9pqxDKmXBpCbCiTTKACa0SZGgKuirURaKWC3AlIWnhqJ1CS1JmJ4vERMus9gNApMdE5L18oyVfYGeDIMpA3MvHA4aNy4dFpqp3wGcBoKp3G00\" rel=\"noopener noreferrer\" target=\"_blank\"><br \/>\n<svg fill=\"none\" height=\"14\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2.5\" style=\"margin-right: 8px;\" viewbox=\"0 0 24 24\" width=\"14\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg><br \/>\n<span>Ch\u1ec9nh s\u1eeda Plantuml trong VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<div class=\"vpascode-code-wrapper\">\n            <div class=\"vpascode-viewer-container vpascode-fancy-active\">\r\n                                <div class=\"vpascode-header\">\r\n                    <span class=\"vpascode-lang-label\">Plantuml<\/span>\r\n                    <a href=\"https:\/\/www.vpascode.com\/editor\/#plantuml:oqnJq73EUBXxPLwwGZAGxbG04eiB578UxcwtrrGeoKZDKz18FhnPavTB0GYid1_kMbgWK5XQ-N1tOvv2IL5ffKBomrrh2nGS0pojURbISufJ5JIoCmvloKk7Qya0gMxEKyWujk7Xxjb0YuvCVBXhVvx2aGb7ce6yl0oG0I3DUIcPQG00\" \r\n                       target=\"_blank\" \r\n                       rel=\"noopener noreferrer\" \r\n                       class=\"vpascode-fancy-btn\">\r\n                        <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"margin-right: 8px;\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg>\r\n                        <span>Edit Plantuml in VPasCode<\/span>\r\n                    <\/a>\r\n                <\/div>\r\n                                <div class=\"vpascode-code-wrapper\">\r\n                    <pre class=\"lang-plantuml\"><code class=\"language-plantuml\" data-language=\"plantuml\" class=\"language-plantuml\">if (Ch\u1ee9ng ch\u1ec9 h\u1ee3p l\u1ec7?) then (c\u00f3)\r\n    :C\u1ea5p quy\u1ec1n truy c\u1eadp API;\r\nelse (kh\u00f4ng)\r\n    :Chuy\u1ec3n h\u01b0\u1edbng \u0111\u1ebfn \u0110\u0103ng nh\u1eadp;\r\nendif<\/code><\/pre>                <\/div>\r\n                <div class=\"vpascode-actions\">\r\n                    <a href=\"https:\/\/www.vpascode.com\/editor\/#plantuml:oqnJq73EUBXxPLwwGZAGxbG04eiB578UxcwtrrGeoKZDKz18FhnPavTB0GYid1_kMbgWK5XQ-N1tOvv2IL5ffKBomrrh2nGS0pojURbISufJ5JIoCmvloKk7Qya0gMxEKyWujk7Xxjb0YuvCVBXhVvx2aGb7ce6yl0oG0I3DUIcPQG00\" \r\n                       target=\"_blank\" \r\n                       rel=\"noopener noreferrer\" \r\n                       class=\"vpascode-fancy-btn\">\r\n                        <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"margin-right: 6px;\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg>\r\n                        <span>Edit Plantuml in VPasCode<\/span>\r\n                    <\/a>\r\n                <\/div>\r\n            <\/div>\r\n            \n<\/p><\/div>\n<div class=\"vpascode-actions\">\n<a class=\"vpascode-fancy-btn\" href=\"https:\/\/www.vpascode.com\/editor\/#plantuml:oqnJqF0iLWZ9pqxDKmXBpCbCiTTKACa0SZGgKuirURaKWC3AlIWnhqJ1CS1JmJ4vERMus9gNApMdE5L18oyVfYGeDIMpA3MvHA4aNy4dFpqp3wGcBoKp3G00\" rel=\"noopener noreferrer\" target=\"_blank\"><br \/>\n<svg fill=\"none\" height=\"14\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2.5\" style=\"margin-right: 6px;\" viewbox=\"0 0 24 24\" width=\"14\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg><br \/>\n<span>Ch\u1ec9nh s\u1eeda Plantuml trong VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<\/div>\n<p id=\"iiAnZXa\"><img alt=\"\" class=\"alignnone size-full wp-image-567\" decoding=\"async\" height=\"100\" src=\"https:\/\/www.vpascode.com\/wp-content\/uploads\/2026\/05\/img_6a18fe272b636.png\" width=\"266\"\/><\/p>\n<\/li>\n<li><strong>C\u00e1c c\u00f4ng t\u1eafc \u0111a nh\u00e1nh (switch):<\/strong> Ho\u00e0n h\u1ea3o \u0111\u1ec3 \u0111\u00e1nh gi\u00e1 c\u00e1c kho\u1ea3ng s\u1ed1, c\u1ea5p b\u1eadc vai tr\u00f2 ho\u1eb7c c\u00e1c m\u1eabu kh\u1edbp chu\u1ed7i m\u00e0 kh\u00f4ng c\u1ea7n l\u1ed3ng gh\u00e9p v\u00f4 h\u1ea1n c\u00e1c c\u00e2u l\u1ec7nh if:\n<div class=\"vpascode-viewer-container vpascode-fancy-active\">\n<div class=\"vpascode-header\">\n<span class=\"vpascode-lang-label\">Plantuml<\/span><br \/>\n<a class=\"vpascode-fancy-btn\" href=\"https:\/\/www.vpascode.com\/editor\/#plantuml:NSwn2W9130JGNl0VfZmBVq0h4SvAb4K_OBaTy20cijb3xkyD5WgNRcPU4N-FRNYWkpihaWbncr_Sh5T3TgB3eJn7HMJ4xHArXEid4HnDFVp-HyyMMsvMbpnagoQuPgNy_McYjwLDp6LxKPdHaoLmrFxzyGC0\" rel=\"noopener noreferrer\" target=\"_blank\"><br \/>\n<svg fill=\"none\" height=\"14\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2.5\" style=\"margin-right: 8px;\" viewbox=\"0 0 24 24\" width=\"14\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg><br \/>\n<span>Ch\u1ec9nh s\u1eeda Plantuml trong VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<div class=\"vpascode-code-wrapper\">\n            <div class=\"vpascode-viewer-container vpascode-fancy-active\">\r\n                                <div class=\"vpascode-header\">\r\n                    <span class=\"vpascode-lang-label\">Plantuml<\/span>\r\n                    <a href=\"https:\/\/www.vpascode.com\/editor\/#plantuml:AoxFB4dEKD3moN-uQs6cGbbYfa99qU5D2ddfnpOyt3qtKo7byCwyT4rUhkJ4ubG53ON0qeUx5kS1rJpStQrGbdbuLPu2K5812AmyCX_kRWPAPO2ad43AqXMEJ0GADfOgP6T098zCVBXhUIM8shtS6cxeaGaGLGL0hHCpIJSMOP9tnk65GEzWrUjJ-d3tPA3cP22l4-o4tcIWpjIyb69m8000\" \r\n                       target=\"_blank\" \r\n                       rel=\"noopener noreferrer\" \r\n                       class=\"vpascode-fancy-btn\">\r\n                        <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"margin-right: 8px;\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg>\r\n                        <span>Edit Plantuml in VPasCode<\/span>\r\n                    <\/a>\r\n                <\/div>\r\n                                <div class=\"vpascode-code-wrapper\">\r\n                    <pre class=\"lang-plantuml\"><code class=\"language-plantuml\" data-language=\"plantuml\" class=\"language-plantuml\">switch (Lo\u1ea1i vai tr\u00f2 ng\u01b0\u1eddi d\u00f9ng)\r\ncase ( Qu\u1ea3n tr\u1ecb vi\u00ean )\r\n    :Hi\u1ec3n th\u1ecb B\u1ea3ng \u0111i\u1ec1u khi\u1ec3n \u0111\u1ea7y \u0111\u1ee7;\r\ncase ( \u0110i\u1ec1u ph\u1ed1i vi\u00ean )\r\n    :Hi\u1ec3n th\u1ecb B\u1ea3ng \u0111i\u1ec1u khi\u1ec3n;\r\ncase ( Kh\u00e1ch )\r\n    :Hi\u1ec3n th\u1ecb Lu\u1ed3ng ch\u1ec9 \u0111\u1ecdc;\r\nendswitch<\/code><\/pre>                <\/div>\r\n                <div class=\"vpascode-actions\">\r\n                    <a href=\"https:\/\/www.vpascode.com\/editor\/#plantuml:AoxFB4dEKD3moN-uQs6cGbbYfa99qU5D2ddfnpOyt3qtKo7byCwyT4rUhkJ4ubG53ON0qeUx5kS1rJpStQrGbdbuLPu2K5812AmyCX_kRWPAPO2ad43AqXMEJ0GADfOgP6T098zCVBXhUIM8shtS6cxeaGaGLGL0hHCpIJSMOP9tnk65GEzWrUjJ-d3tPA3cP22l4-o4tcIWpjIyb69m8000\" \r\n                       target=\"_blank\" \r\n                       rel=\"noopener noreferrer\" \r\n                       class=\"vpascode-fancy-btn\">\r\n                        <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"margin-right: 6px;\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg>\r\n                        <span>Edit Plantuml in VPasCode<\/span>\r\n                    <\/a>\r\n                <\/div>\r\n            <\/div>\r\n            \n<\/p><\/div>\n<div class=\"vpascode-actions\">\n<a class=\"vpascode-fancy-btn\" href=\"https:\/\/www.vpascode.com\/editor\/#plantuml:NSwn2W9130JGNl0VfZmBVq0h4SvAb4K_OBaTy20cijb3xkyD5WgNRcPU4N-FRNYWkpihaWbncr_Sh5T3TgB3eJn7HMJ4xHArXEid4HnDFVp-HyyMMsvMbpnagoQuPgNy_McYjwLDp6LxKPdHaoLmrFxzyGC0\" rel=\"noopener noreferrer\" target=\"_blank\"><br \/>\n<svg fill=\"none\" height=\"14\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2.5\" style=\"margin-right: 6px;\" viewbox=\"0 0 24 24\" width=\"14\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg><br \/>\n<span>Ch\u1ec9nh s\u1eeda Plantuml trong VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<\/div>\n<p id=\"moZKvAp\"><img fetchpriority=\"high\" alt=\"\" class=\"alignnone size-full wp-image-568\" decoding=\"async\" fetchpriority=\"high\" height=\"139\" sizes=\"(max-width: 471px) 100vw, 471px\" src=\"https:\/\/www.vpascode.com\/wp-content\/uploads\/2026\/05\/img_6a18fe36d8256.png\" srcset=\"https:\/\/www.vpascode.com\/wp-content\/uploads\/2026\/05\/img_6a18fe36d8256.png 471w, https:\/\/www.vpascode.com\/wp-content\/uploads\/2026\/05\/img_6a18fe36d8256-300x89.png 300w\" width=\"471\"\/><\/p>\n<\/li>\n<\/ul>\n<h3>3. Th\u1ef1c thi song song (fork \/ join)<\/h3>\n<p>Khi m\u00f4 h\u00ecnh h\u00f3a c\u00e1c m\u00f4i tr\u01b0\u1eddng \u0111\u00e1m m\u00e2y hi\u1ec7n \u0111\u1ea1i ho\u1eb7c c\u00e1c v\u00f2ng l\u1eb7p m\u00e3 \u0111a lu\u1ed3ng, b\u1ea1n th\u01b0\u1eddng c\u1ea7n bi\u1ec3u di\u1ec5n c\u00e1c t\u00e1c v\u1ee5 x\u1ea3y ra \u0111\u1ed3ng th\u1eddi. S\u1eed d\u1ee5ng c\u1ea5u tr\u00fac <code>fork<\/code> \u0111\u1ec3 chia chu\u1ed7i th\u1ef1c thi c\u1ee7a b\u1ea1n th\u00e0nh c\u00e1c l\u00e0n \u0111\u01b0\u1eddng \u0111\u1ed9c l\u1eadp, song song, v\u00e0 k\u1ebft th\u00fac b\u1eb1ng m\u1ed9t t\u1eeb kh\u00f3a <code>join<\/code> \u0111\u1ec3 h\u1ee3p nh\u1ea5t ch\u00fang tr\u1edf l\u1ea1i th\u00e0nh m\u1ed9t lu\u1ed3ng duy nh\u1ea5t:<\/p>\n<div class=\"vpascode-viewer-container vpascode-fancy-active\">\n<div class=\"vpascode-header\">\n<span class=\"vpascode-lang-label\">Plantuml<\/span><br \/>\n<a class=\"vpascode-fancy-btn\" href=\"https:\/\/www.vpascode.com\/editor\/#plantuml:IyilokRbKW02A_VKlDIYn99K1TVSnCmS1S-yilpCv5HhNguqe1g5nFJ4p3oeIfVKbDBa4eNmnABKZFpIubIGsjIyaloYIg3grBmK1P0E0000\" rel=\"noopener noreferrer\" target=\"_blank\"><br \/>\n<svg fill=\"none\" height=\"14\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2.5\" style=\"margin-right: 8px;\" viewbox=\"0 0 24 24\" width=\"14\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg><br \/>\n<span>Ch\u1ec9nh s\u1eeda Plantuml trong VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<div class=\"vpascode-code-wrapper\">\n            <div class=\"vpascode-viewer-container vpascode-fancy-active\">\r\n                                <div class=\"vpascode-header\">\r\n                    <span class=\"vpascode-lang-label\">Plantuml<\/span>\r\n                    <a href=\"https:\/\/www.vpascode.com\/editor\/#plantuml:IyilokRbKW02gv27knRcAsGStfoeS6JYiOLv2gcvYPavrhnSQK0r2edfYPbvC9L53tUlLYXvk7joda9sHZuOPnnUa9SEL9oQbw80qW00\" \r\n                       target=\"_blank\" \r\n                       rel=\"noopener noreferrer\" \r\n                       class=\"vpascode-fancy-btn\">\r\n                        <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"margin-right: 8px;\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg>\r\n                        <span>Edit Plantuml in VPasCode<\/span>\r\n                    <\/a>\r\n                <\/div>\r\n                                <div class=\"vpascode-code-wrapper\">\r\n                    <pre class=\"lang-plantuml\"><code class=\"language-plantuml\" data-language=\"plantuml\" class=\"language-plantuml\">fork\r\n    :T\u1ea1o h\u00f3a \u0111\u01a1n email;\r\nfork again\r\n    :Tr\u1eeb t\u1ed3n kho kho h\u00e0ng;\r\nend fork<\/code><\/pre>                <\/div>\r\n                <div class=\"vpascode-actions\">\r\n                    <a href=\"https:\/\/www.vpascode.com\/editor\/#plantuml:IyilokRbKW02gv27knRcAsGStfoeS6JYiOLv2gcvYPavrhnSQK0r2edfYPbvC9L53tUlLYXvk7joda9sHZuOPnnUa9SEL9oQbw80qW00\" \r\n                       target=\"_blank\" \r\n                       rel=\"noopener noreferrer\" \r\n                       class=\"vpascode-fancy-btn\">\r\n                        <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"margin-right: 6px;\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg>\r\n                        <span>Edit Plantuml in VPasCode<\/span>\r\n                    <\/a>\r\n                <\/div>\r\n            <\/div>\r\n            \n<\/p><\/div>\n<div class=\"vpascode-actions\">\n<a class=\"vpascode-fancy-btn\" href=\"https:\/\/www.vpascode.com\/editor\/#plantuml:IyilokRbKW02A_VKlDIYn99K1TVSnCmS1S-yilpCv5HhNguqe1g5nFJ4p3oeIfVKbDBa4eNmnABKZFpIubIGsjIyaloYIg3grBmK1P0E0000\" rel=\"noopener noreferrer\" target=\"_blank\"><br \/>\n<svg fill=\"none\" height=\"14\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2.5\" style=\"margin-right: 6px;\" viewbox=\"0 0 24 24\" width=\"14\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg><br \/>\n<span>Ch\u1ec9nh s\u1eeda Plantuml trong VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<\/div>\n<p id=\"CRrKTDt\"><img loading=\"lazy\" alt=\"\" class=\"alignnone size-full wp-image-569\" decoding=\"async\" height=\"87\" loading=\"lazy\" sizes=\"auto, (max-width: 392px) 100vw, 392px\" src=\"https:\/\/www.vpascode.com\/wp-content\/uploads\/2026\/05\/img_6a18fe4710eae.png\" srcset=\"https:\/\/www.vpascode.com\/wp-content\/uploads\/2026\/05\/img_6a18fe4710eae.png 392w, https:\/\/www.vpascode.com\/wp-content\/uploads\/2026\/05\/img_6a18fe4710eae-300x67.png 300w\" width=\"392\"\/><\/p>\n<h3>4. T\u1ed5 ch\u1ee9c tr\u00e1ch nhi\u1ec7m b\u1eb1ng c\u00e1c l\u00e0n d\u1ecdc<\/h3>\n<p>\u0110\u1ec3 x\u00e1c \u0111\u1ecbnh r\u00f5 r\u00e0ng ai l\u00e0 ng\u01b0\u1eddi, nh\u00f3m d\u1ecbch v\u1ee5 hay ranh gi\u1edbi h\u1ea1 t\u1ea7ng vi d\u1ecbch v\u1ee5 ch\u1ecbu tr\u00e1ch nhi\u1ec7m cho m\u1ed9t h\u00e0nh \u0111\u1ed9ng c\u1ee5 th\u1ec3, h\u00e3y s\u1eed d\u1ee5ng c\u00e1c ph\u00e2n v\u00f9ng d\u1ecdc \u0111\u01b0\u1ee3c g\u1ecdi l\u00e0 l\u00e0n d\u1ecdc. B\u1ea1n khai b\u00e1o m\u1ed9t l\u00e0n d\u1ecdc b\u1eb1ng c\u00e1ch bao b\u1ecdc chu\u1ed7i ti\u00eau \u0111\u1ec1 b\u00ean trong c\u00e1c k\u00fd t\u1ef1 \u1ed1ng (<code>|Ti\u00eau \u0111\u1ec1 l\u00e0n|<\/code>):<\/p>\n<div class=\"vpascode-viewer-container vpascode-fancy-active\">\n<div class=\"vpascode-header\">\n<span class=\"vpascode-lang-label\">Plantuml<\/span><br \/>\n<a class=\"vpascode-fancy-btn\" href=\"https:\/\/www.vpascode.com\/editor\/#plantuml:5Sin2e0m30NGlT0x1Bn5dRI3YuDN21fiKQl4NqJfuTNrmIj-ZP90pN4KQqwmmXhtuRZGa7KCV0gr6TXJRKsf-ZW7j6iM6lZU_janvEBxswx92Bl6HyYhJ17aMQVw1G00\" rel=\"noopener noreferrer\" target=\"_blank\"><br \/>\n<svg fill=\"none\" height=\"14\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2.5\" style=\"margin-right: 8px;\" viewbox=\"0 0 24 24\" width=\"14\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg><br \/>\n<span>Ch\u1ec9nh s\u1eeda Plantuml trong VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<div class=\"vpascode-code-wrapper\">\n            <div class=\"vpascode-viewer-container vpascode-fancy-active\">\r\n                                <div class=\"vpascode-header\">\r\n                    <span class=\"vpascode-lang-label\">Plantuml<\/span>\r\n                    <a href=\"https:\/\/www.vpascode.com\/editor\/#plantuml:gtcuUqLUkaBAmzrBWPHtnk65oHaA6OSNvANNy78LboGMbV1oMVbbFDorD4yXx_2k4WNVqaI8l3KlLusoJsPwHebJJccgWlF3tLE19fHa9EPbA9Ja7rwO1pJ0oXcaim0eMlfmrzey8Frmrsw5aiD09iH6Qm00\" \r\n                       target=\"_blank\" \r\n                       rel=\"noopener noreferrer\" \r\n                       class=\"vpascode-fancy-btn\">\r\n                        <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"margin-right: 8px;\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg>\r\n                        <span>Edit Plantuml in VPasCode<\/span>\r\n                    <\/a>\r\n                <\/div>\r\n                                <div class=\"vpascode-code-wrapper\">\r\n                    <pre class=\"lang-plantuml\"><code class=\"language-plantuml\" data-language=\"plantuml\" class=\"language-plantuml\">|\u1ee8ng d\u1ee5ng Kh\u00e1ch h\u00e0ng|\r\nstart\r\n:Nh\u1ea5n n\u00fat Mua h\u00e0ng;\r\n|#LightBlue C\u1ed5ng thanh to\u00e1n|\r\n:Ch\u1ea5p thu\u1eadn th\u1ebb t\u00edn d\u1ee5ng;<\/code><\/pre>                <\/div>\r\n                <div class=\"vpascode-actions\">\r\n                    <a href=\"https:\/\/www.vpascode.com\/editor\/#plantuml:gtcuUqLUkaBAmzrBWPHtnk65oHaA6OSNvANNy78LboGMbV1oMVbbFDorD4yXx_2k4WNVqaI8l3KlLusoJsPwHebJJccgWlF3tLE19fHa9EPbA9Ja7rwO1pJ0oXcaim0eMlfmrzey8Frmrsw5aiD09iH6Qm00\" \r\n                       target=\"_blank\" \r\n                       rel=\"noopener noreferrer\" \r\n                       class=\"vpascode-fancy-btn\">\r\n                        <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"margin-right: 6px;\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg>\r\n                        <span>Edit Plantuml in VPasCode<\/span>\r\n                    <\/a>\r\n                <\/div>\r\n            <\/div>\r\n            \n<\/p><\/div>\n<div class=\"vpascode-actions\">\n<a class=\"vpascode-fancy-btn\" href=\"https:\/\/www.vpascode.com\/editor\/#plantuml:5Sin2e0m30NGlT0x1Bn5dRI3YuDN21fiKQl4NqJfuTNrmIj-ZP90pN4KQqwmmXhtuRZGa7KCV0gr6TXJRKsf-ZW7j6iM6lZU_janvEBxswx92Bl6HyYhJ17aMQVw1G00\" rel=\"noopener noreferrer\" target=\"_blank\"><br \/>\n<svg fill=\"none\" height=\"14\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2.5\" style=\"margin-right: 6px;\" viewbox=\"0 0 24 24\" width=\"14\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg><br \/>\n<span>Ch\u1ec9nh s\u1eeda Plantuml trong VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<\/div>\n<p id=\"vIEfVzZ\"><img loading=\"lazy\" alt=\"\" class=\"alignnone size-full wp-image-570\" decoding=\"async\" height=\"156\" loading=\"lazy\" sizes=\"auto, (max-width: 452px) 100vw, 452px\" src=\"https:\/\/www.vpascode.com\/wp-content\/uploads\/2026\/05\/img_6a18fe5318dd6.png\" srcset=\"https:\/\/www.vpascode.com\/wp-content\/uploads\/2026\/05\/img_6a18fe5318dd6.png 452w, https:\/\/www.vpascode.com\/wp-content\/uploads\/2026\/05\/img_6a18fe5318dd6-300x104.png 300w\" width=\"452\"\/><\/p>\n<h2>C\u00e1c th\u1ef1c h\u00e0nh t\u1ed1t nh\u1ea5t cho lu\u1ed3ng ho\u1ea1t \u0111\u1ed9ng s\u1ea1ch s\u1ebd<\/h2>\n<ul>\n<li><strong>S\u1eed d\u1ee5ng nh\u00e3n \u0111\u1ed9ng t\u1eeb t\u00edch c\u1ef1c:<\/strong> Gi\u1eef c\u00e1c kh\u1ed1i v\u0103n b\u1ea3n ho\u1ea1t \u0111\u1ed9ng g\u1ecdn g\u00e0ng v\u00e0 r\u00f5 r\u00e0ng b\u1eb1ng c\u00e1ch b\u1eaft \u0111\u1ea7u b\u1eb1ng c\u00e1c \u0111\u1ed9ng t\u1eeb h\u01b0\u1edbng h\u00e0nh \u0111\u1ed9ng (v\u00ed d\u1ee5: <code>:Ph\u00e2n t\u00edch d\u1eef li\u1ec7u \u0111\u1ea7u v\u00e0o;<\/code> thay v\u00ec <code>:D\u1eef li\u1ec7u \u0111\u1ea7u v\u00e0o \u0111\u01b0\u1ee3c ph\u00e2n t\u00edch b\u1edfi \u1ee9ng d\u1ee5ng x\u1eed l\u00fd;<\/code>).<\/li>\n<li><strong>M\u00e3 h\u00f3a m\u00e0u c\u00e1c n\u00fat c\u00f3 r\u1ee7i ro cao:<\/strong> Th\u00eam m\u00e0u hex t\u00f9y ch\u1ec9nh tr\u1ef1c ti\u1ebfp l\u00ean c\u00e1c n\u00fat n\u1ec1n nh\u1ea1y c\u1ea3m (v\u00ed d\u1ee5: <code>:#Crimson:X\u00f3a c\u00e1c b\u1ea3n ghi c\u01a1 s\u1edf d\u1eef li\u1ec7u;<\/code>) \u0111\u1ec3 c\u00e1c b\u01b0\u1edbc quan tr\u1ecdng n\u1ed5i b\u1eadt v\u1ec1 m\u1eb7t th\u1ecb gi\u00e1c trong c\u00e1c b\u1ea3n \u0111\u1ed3 doanh nghi\u1ec7p l\u1edbn.<\/li>\n<li><strong>Tr\u00e1nh c\u00e1c \u0111\u01b0\u1eddng ch\u00e9o:<\/strong> N\u1ebfu s\u01a1 \u0111\u1ed3 nh\u00e1nh nhi\u1ec1u c\u1ee7a b\u1ea1n b\u1eaft \u0111\u1ea7u tr\u00f4ng l\u1ed9n x\u1ed9n, h\u00e3y chia t\u00e1ch c\u00e1c kh\u1ed1i v\u0103n b\u1ea3n b\u1eb1ng c\u00e1ch ch\u00e8n m\u1ed9t n\u00fat k\u1ebft n\u1ed1i tr\u00f2n s\u1ea1ch s\u1ebd b\u1eb1ng c\u00e1ch s\u1eed d\u1ee5ng k\u00fd hi\u1ec7u t\u00e1ch r\u1eddi (<code>t\u00e1ch r\u1eddi<\/code>) ho\u1eb7c c\u00e1c \u0111i\u1ec3m neo cu\u1ed1i.<\/li>\n<\/ul>\n<h2>V\u00ed d\u1ee5 s\u01a1 \u0111\u1ed3 ho\u1ea1t \u0111\u1ed9ng PlantUML trong th\u1ebf gi\u1edbi th\u1ef1c<\/h2>\n<h3>V\u00ed d\u1ee5 1: Tri\u1ec3n khai ng\u01b0\u1eddi d\u00f9ng v\u00e0 x\u00e1c th\u1ef1c danh t\u00ednh (nh\u00e1nh &amp; chuy\u1ec3n \u0111\u1ed5i)<\/h3>\n<p>M\u1eabu n\u00e0y m\u00f4 h\u00ecnh h\u00f3a m\u1ed9t quy tr\u00ecnh tri\u1ec3n khai ng\u01b0\u1eddi d\u00f9ng ti\u00eau chu\u1ea9n bao g\u1ed3m logic \u0111i\u1ec1u ki\u1ec7n nh\u1ecb ph\u00e2n s\u00e2u s\u1eafc v\u00e0 ki\u1ec3m tra x\u00e1c th\u1ef1c danh t\u00ednh b\u00ean trong b\u1ed1 c\u1ee5c s\u01a1 \u0111\u1ed3 UML s\u1ea1ch s\u1ebd.<\/p>\n<div class=\"vpascode-viewer-container vpascode-fancy-active\">\n<div class=\"vpascode-header\">\n<span class=\"vpascode-lang-label\">Plantuml<\/span><br \/>\n<a class=\"vpascode-fancy-btn\" href=\"https:\/\/www.vpascode.com\/editor\/#plantuml:FLBDReCm3BuZyGu-iiDUe3rih5kbIfs6HhUTqs2eLKWYnuprxUT0MquMVFx-p7CKmp8EVPxDKvwjlY8orEDn88bGK-SUlm9iFG_hFACMYhV1K0zbpsYQ2xpzKPJuz01oGWV51UD3de4-g_ha9oYjzQCJs7ZNzcG5VWmxSjrw0KNn8S-mZmY5yxVDZL8BGeMkKIZCXZxHUcvqBRriyqoDrZh2DpArP8sGT_1ng5IfGOKn1YMv4fQJ8Lbu4cJdmYYAEHfxdWmtgxtlOAkfi85I18SWcWzPxZmmdVGh5BjurM16AvgQucmSd9TRU6ro8h4dA6xXQ-mLdGmU25aXrgJ0K34ED0vG6MhW5hvY_qinWL-Dc6D2Rlen2dAybhOwC7LTEf8m1KotYbQdMM7lVLZV5RQCE8lUwSiG-Wkyc4WMoce7dwdfFQLZB-KkvkU2tmsVbzRKL9iACF5QEAPJBDTxrYNzWVu1\" rel=\"noopener noreferrer\" target=\"_blank\"><br \/>\n<svg fill=\"none\" height=\"14\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2.5\" style=\"margin-right: 8px;\" viewbox=\"0 0 24 24\" width=\"14\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg><br \/>\n<span>Ch\u1ec9nh s\u1eeda Plantuml trong VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<div class=\"vpascode-code-wrapper\">\n            <div class=\"vpascode-viewer-container vpascode-fancy-active\">\r\n                                <div class=\"vpascode-header\">\r\n                    <span class=\"vpascode-lang-label\">Plantuml<\/span>\r\n                    <a href=\"https:\/\/www.vpascode.com\/editor\/#plantuml:NLDDQjj05DuBT8UtTAvWBves5BUKj8Rc0j9OqGoMHa8QnTcMKBeeXPgiIWcr2AQBOD8sXL8DNOt8FUOc_KQoJHmj9A5vxtq_xzDXgO92LMdYUzsRxmrVn_S_hBuID3L_PKonrMj1eR3wegBKDZSLjOls0YSpys_aU-AK1i_JG2JuRAv9MNqfSMzgyUI058ya3PYvE_0zmZLyuURWd5lzaPXjhYMdqDGPdLUOs2wi_g98cQMW6S_SyQXlB5MM-rwKb14DPjpybl5suWcWCWfTBSLSaDodtou2t1dmhZ0gabDnwdjGEUvafM3yvcH2vwPc7QcV35L5b4U1sim_SgsEMVEzeZEppBe6oBnv18N6C62pUL1CXsCGUQWEevkLSYnhiGEWEHS9z1nlIC2_HiPmBJ7BdKhgdriJiQQvK8pJu9bjremIK0uwUP_adc-ePO5pYzhFRYqy01ULcLhIf8XIKQMqTV08t7BAkQaLIEjLIko-fjBgRpIr-fOIxEn3jLd4y9LP0zw1eFpC_0Atn3P_yWUfeBUg47aqsb4Ocpj1nnZpNZgSzGxQlCiTnihb3CTV1S6eskL7BrWV1tewUTaH2ZTnm0vx3xezGbqDPLDegD2iBwb4xQCGE4ExTExlkG_L8GRY1_WF\" \r\n                       target=\"_blank\" \r\n                       rel=\"noopener noreferrer\" \r\n                       class=\"vpascode-fancy-btn\">\r\n                        <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"margin-right: 8px;\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg>\r\n                        <span>Edit Plantuml in VPasCode<\/span>\r\n                    <\/a>\r\n                <\/div>\r\n                                <div class=\"vpascode-code-wrapper\">\r\n                    <pre class=\"lang-plantuml\"><code class=\"language-plantuml\" data-language=\"plantuml\" class=\"language-plantuml\">@startuml\r\nstart\r\n:Ng\u01b0\u1eddi d\u00f9ng g\u1eedi bi\u1ec3u m\u1eabu \u0111\u0103ng k\u00fd;\r\nif (Email \u0111\u00e3 t\u1ed3n t\u1ea1i?) then (c\u00f3)\r\n    :Hi\u1ec3n th\u1ecb c\u1ea3nh b\u00e1o xung \u0111\u1ed9t t\u00e0i kho\u1ea3n;\r\n    stop\r\nelse (kh\u00f4ng)\r\n    :T\u1ea1o b\u1ea3n ghi ng\u01b0\u1eddi d\u00f9ng \u0111ang ch\u1edd;\r\nendif\r\n\r\n:G\u1eedi m\u00e3 OTP x\u00e1c th\u1ef1c;\r\nrepeat\r\n    :Ch\u1edd \u0111\u1ea7u v\u00e0o OTP t\u1eeb ng\u01b0\u1eddi d\u00f9ng;\r\nbackward:Ghi c\u1ea3nh b\u00e1o th\u1ea5t b\u1ea1i;\r\nrepeat while (M\u00e3 OTP \u0111\u00fang?) l\u00e0 (kh\u00f4ng) kh\u00f4ng (c\u00f3)\r\n\r\nswitch (B\u1eadc l\u1ef1a ch\u1ecdn t\u00e0i kho\u1ea3n)\r\ncase ( \u0110\u00e3 thanh to\u00e1n Premium )\r\n    :C\u1ea5p ph\u00e1t c\u1ee5m c\u01a1 s\u1edf d\u1eef li\u1ec7u;\r\n    :K\u00edch ho\u1ea1t v\u00f2ng l\u1eb7p \u0111\u0103ng k\u00fd Stripe;\r\ncase ( G\u00f3i Mi\u1ec5n ph\u00ed )\r\n    :\u00c1p d\u1ee5ng gi\u1edbi h\u1ea1n t\u1ed1c \u0111\u1ed9 API c\u01a1 b\u1ea3n;\r\nendswitch\r\n\r\n:\u0110\u00e1nh d\u1ea5u h\u1ed3 s\u01a1 ng\u01b0\u1eddi d\u00f9ng l\u00e0 \u0111\u00e3 x\u00e1c th\u1ef1c;\r\nstop\r\n@enduml<\/code><\/pre>                <\/div>\r\n                <div class=\"vpascode-actions\">\r\n                    <a href=\"https:\/\/www.vpascode.com\/editor\/#plantuml:NLDDQjj05DuBT8UtTAvWBves5BUKj8Rc0j9OqGoMHa8QnTcMKBeeXPgiIWcr2AQBOD8sXL8DNOt8FUOc_KQoJHmj9A5vxtq_xzDXgO92LMdYUzsRxmrVn_S_hBuID3L_PKonrMj1eR3wegBKDZSLjOls0YSpys_aU-AK1i_JG2JuRAv9MNqfSMzgyUI058ya3PYvE_0zmZLyuURWd5lzaPXjhYMdqDGPdLUOs2wi_g98cQMW6S_SyQXlB5MM-rwKb14DPjpybl5suWcWCWfTBSLSaDodtou2t1dmhZ0gabDnwdjGEUvafM3yvcH2vwPc7QcV35L5b4U1sim_SgsEMVEzeZEppBe6oBnv18N6C62pUL1CXsCGUQWEevkLSYnhiGEWEHS9z1nlIC2_HiPmBJ7BdKhgdriJiQQvK8pJu9bjremIK0uwUP_adc-ePO5pYzhFRYqy01ULcLhIf8XIKQMqTV08t7BAkQaLIEjLIko-fjBgRpIr-fOIxEn3jLd4y9LP0zw1eFpC_0Atn3P_yWUfeBUg47aqsb4Ocpj1nnZpNZgSzGxQlCiTnihb3CTV1S6eskL7BrWV1tewUTaH2ZTnm0vx3xezGbqDPLDegD2iBwb4xQCGE4ExTExlkG_L8GRY1_WF\" \r\n                       target=\"_blank\" \r\n                       rel=\"noopener noreferrer\" \r\n                       class=\"vpascode-fancy-btn\">\r\n                        <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"margin-right: 6px;\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg>\r\n                        <span>Edit Plantuml in VPasCode<\/span>\r\n                    <\/a>\r\n                <\/div>\r\n            <\/div>\r\n            \n<\/p><\/div>\n<div class=\"vpascode-actions\">\n<a class=\"vpascode-fancy-btn\" href=\"https:\/\/www.vpascode.com\/editor\/#plantuml:FLBDReCm3BuZyGu-iiDUe3rih5kbIfs6HhUTqs2eLKWYnuprxUT0MquMVFx-p7CKmp8EVPxDKvwjlY8orEDn88bGK-SUlm9iFG_hFACMYhV1K0zbpsYQ2xpzKPJuz01oGWV51UD3de4-g_ha9oYjzQCJs7ZNzcG5VWmxSjrw0KNn8S-mZmY5yxVDZL8BGeMkKIZCXZxHUcvqBRriyqoDrZh2DpArP8sGT_1ng5IfGOKn1YMv4fQJ8Lbu4cJdmYYAEHfxdWmtgxtlOAkfi85I18SWcWzPxZmmdVGh5BjurM16AvgQucmSd9TRU6ro8h4dA6xXQ-mLdGmU25aXrgJ0K34ED0vG6MhW5hvY_qinWL-Dc6D2Rlen2dAybhOwC7LTEf8m1KotYbQdMM7lVLZV5RQCE8lUwSiG-Wkyc4WMoce7dwdfFQLZB-KkvkU2tmsVbzRKL9iACF5QEAPJBDTxrYNzWVu1\" rel=\"noopener noreferrer\" target=\"_blank\"><br \/>\n<svg fill=\"none\" height=\"14\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2.5\" style=\"margin-right: 6px;\" viewbox=\"0 0 24 24\" width=\"14\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg><br \/>\n<span>Ch\u1ec9nh s\u1eeda Plantuml trong VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<\/div>\n<p id=\"DxXTwnN\"><img loading=\"lazy\" alt=\"\" class=\"alignnone size-full wp-image-571\" decoding=\"async\" height=\"721\" loading=\"lazy\" sizes=\"auto, (max-width: 480px) 100vw, 480px\" src=\"https:\/\/www.vpascode.com\/wp-content\/uploads\/2026\/05\/img_6a18fe65178d1.png\" srcset=\"https:\/\/www.vpascode.com\/wp-content\/uploads\/2026\/05\/img_6a18fe65178d1.png 480w, https:\/\/www.vpascode.com\/wp-content\/uploads\/2026\/05\/img_6a18fe65178d1-200x300.png 200w\" width=\"480\"\/><\/p>\n<p><strong>Ph\u00e2n t\u00edch c\u00fa ph\u00e1p:<\/strong> M\u1eabu n\u00e0y gi\u1edbi thi\u1ec7u m\u1ed9t <code>repeat \/ backward \/ repeat while<\/code> v\u00f2ng l\u1eb7p x\u00e1c th\u1ef1c li\u00ean t\u1ee5c thu th\u1eadp \u0111\u1ea7u v\u00e0o ng\u01b0\u1eddi d\u00f9ng cho \u0111\u1ebfn khi kh\u00f3a b\u1ea3o m\u1eadt \u0111\u00fang \u0111\u01b0\u1ee3c v\u01b0\u1ee3t qua. V\u00f2ng l\u1eb7p \u0111a tuy\u1ebfn <code>switch<\/code> bao b\u1ecdc m\u1ed9t c\u00e1ch g\u1ecdn g\u00e0ng t\u00e1ch bi\u1ec7t logic thi\u1ebft l\u1eadp t\u00e0i kho\u1ea3n d\u1ef1a tr\u00ean c\u00e1c gi\u00e1 tr\u1ecb tr\u1ea1ng th\u00e1i b\u1eadc.<\/p>\n<h3>V\u00ed d\u1ee5 2: B\u1ed9 x\u1eed l\u00fd ho\u00e0n t\u1ea5t \u0111\u01a1n h\u00e0ng ph\u00e2n t\u00e1n (c\u00e1c l\u00e0n d\u1ecdc &amp; nh\u00e1nh song song)<\/h3>\n<p>B\u1ea3n \u0111\u1ed3 ki\u1ebfn tr\u00fac doanh nghi\u1ec7p ph\u1ee9c t\u1ea1p n\u00e0y t\u1eadn d\u1ee5ng c\u00e1c l\u00e0n d\u1ecdc c\u1ea5u tr\u00fac \u0111\u1ee9ng \u0111\u1ec3 theo d\u00f5i ch\u00ednh x\u00e1c c\u00e1ch m\u1ed9t lu\u1ed3ng thanh to\u00e1n t\u1ef1 \u0111\u1ed9ng x\u1eed l\u00fd c\u00e1c nhi\u1ec7m v\u1ee5 \u0111\u1ed3ng th\u1eddi tr\u00ean tr\u00ecnh duy\u1ec7t kh\u00e1ch h\u00e0ng, c\u1ed5ng API v\u00e0 trung t\u00e2m ho\u00e0n t\u1ea5t v\u1eadt l\u00fd.<\/p>\n<div class=\"vpascode-viewer-container vpascode-fancy-active\">\n<div class=\"vpascode-header\">\n<span class=\"vpascode-lang-label\">Plantuml<\/span><br \/>\n<a class=\"vpascode-fancy-btn\" href=\"https:\/\/www.vpascode.com\/editor\/#plantuml:ZLBBReCm4BmZyGyhzPByGd9e8vAsaLe51QazEsQ15SPhsIOI4X_VTMZIQpaEutdPBo4g7yV1vDdyzDrHnBamX3R2pZb3MaLYE-VPZPPdcsgy31IXwjWviYqK0cyJZWPrmcd1TtNjCGJvbOG_gErYCIax5ntgdaUHBuzmi2rP5FNDbp9KguXGUgv74JhQguHWFua2DR0wHXo2e515rltp6cA75bQMrta6yctE64TluIJIfsPXmS5xzjk542AxF4CJ45OJXlknZyHxcC7E65uwf-XeQsfIWuPz_tj00cef1gMQXZJJbPIuUNBuQxHvGui-TTbJIr4PAFUlS4QDvD9KIGjKgyWkV5b7YNsDVlvM7ZiU9UAdigh5cq4r1Ua-F-n9CDTDGUv6f9NkqzoL8NVttuL0hOK_iJDVE499kaU_j8AbqB-kPa_1gQWxE7d920NRXlnmsmZUcVjjUXnfsnSHbeVq0m00\" rel=\"noopener noreferrer\" target=\"_blank\"><br \/>\n<svg fill=\"none\" height=\"14\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2.5\" style=\"margin-right: 8px;\" viewbox=\"0 0 24 24\" width=\"14\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg><br \/>\n<span>Ch\u1ec9nh s\u1eeda Plantuml trong VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<div class=\"vpascode-code-wrapper\">\n            <div class=\"vpascode-viewer-container vpascode-fancy-active\">\r\n                                <div class=\"vpascode-header\">\r\n                    <span class=\"vpascode-lang-label\">Plantuml<\/span>\r\n                    <a href=\"https:\/\/www.vpascode.com\/editor\/#plantuml:bL8zQzj06Du5-WylT77-WZqq9I5fI0T30irwLcJTOVizMpw55hHqAgMKreGGCXJgX48x64ASIKVeSCR_u_v9dxDifskr2BrwtkVhRdTiH6wAGJ-EoXTlfJ9fwUqlpkZSsvzu7KitJIH9zuEpCevMw3Xg7dexKvGfRx_M_reOxabllp0j9jv-5fJWwnCWGcyHGUEDogJPUo-uN7ppzWOIoN9Ahzf7T2e5IpBQJHbApJC8qq25aRUNJ3sfQUohEwQXzDNl0VXKbned_umeSGzC9jTW1Vpb3XcPCZLwqZrojXD7XATvccE5BhpzG7rlhnLXzu_PcWoOiT73E4hxuvGQYPjlDb76N43BtJ9rlBrwTeQzbCzLDsJiwhotNZX3JTHtJ_2npKQZGj29oTKmRMqS-MeQMWBvOh84fBr_WAnsqghPI6H2SGr6W-82McbUllRs8vY1GzvHiIeYY1rBNQwPZq8r2laACBivS9cRAuIlPYPWDmuEWp7EblVUVbVWB09lDHjIhZlQF2UaEjn_7MHzLypg3AZZaFHTE5eE0hmEl2c_BduNIhYIVm40\" \r\n                       target=\"_blank\" \r\n                       rel=\"noopener noreferrer\" \r\n                       class=\"vpascode-fancy-btn\">\r\n                        <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"margin-right: 8px;\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg>\r\n                        <span>Edit Plantuml in VPasCode<\/span>\r\n                    <\/a>\r\n                <\/div>\r\n                                <div class=\"vpascode-code-wrapper\">\r\n                    <pre class=\"lang-plantuml\"><code class=\"language-plantuml\" data-language=\"plantuml\" class=\"language-plantuml\">@startuml\r\n|#White|\u1ee8ng d\u1ee5ng Kh\u00e1ch h\u00e0ng|\r\nstart\r\n:G\u1eedi gi\u1ecf h\u00e0ng;\r\n:Ch\u1ecdn \u0111\u1ecba ch\u1ec9 giao h\u00e0ng;\r\n\r\n|#LightCyan|\u0110\u1ed9ng c\u01a1 API Thanh to\u00e1n|\r\n:X\u00e1c minh t\u1ed3n kho s\u1ea3n ph\u1ea9m;\r\nif (S\u1ea3n ph\u1ea9m c\u00f2n trong kho?) then (kh\u00f4ng)\r\n    :Tr\u1ea3 v\u1ec1 l\u1ed7i h\u1ebft h\u00e0ng;\r\n    stop\r\nelse (c\u00f3)\r\n    :Kh\u00f3a ph\u00e2n b\u1ed5 t\u1ed3n kho;\r\nendif\r\n\r\nfork\r\n    :X\u1eed l\u00fd thanh to\u00e1n qua Stripe;\r\n    :T\u1ea1o h\u00f3a \u0111\u01a1n PDF s\u1ed1;\r\nfork again\r\n    |#Lavender|H\u1ec7 th\u1ed1ng qu\u1ea3n l\u00fd Kho|\r\n    :In phi\u1ebfu \u0111\u00f3ng g\u00f3i v\u1eadt l\u00fd;\r\n    :G\u00e1n ng\u01b0\u1eddi thu th\u1eadp robot kho;\r\nend fork\r\n\r\n|#LightCyan|\u0110\u1ed9ng c\u01a1 API Thanh to\u00e1n|\r\n:G\u1eedi th\u00f4ng b\u00e1o x\u00e1c nh\u1eadn \u0111\u01a1n h\u00e0ng;\r\nstop\r\n@enduml<\/code><\/pre>                <\/div>\r\n                <div class=\"vpascode-actions\">\r\n                    <a href=\"https:\/\/www.vpascode.com\/editor\/#plantuml:bL8zQzj06Du5-WylT77-WZqq9I5fI0T30irwLcJTOVizMpw55hHqAgMKreGGCXJgX48x64ASIKVeSCR_u_v9dxDifskr2BrwtkVhRdTiH6wAGJ-EoXTlfJ9fwUqlpkZSsvzu7KitJIH9zuEpCevMw3Xg7dexKvGfRx_M_reOxabllp0j9jv-5fJWwnCWGcyHGUEDogJPUo-uN7ppzWOIoN9Ahzf7T2e5IpBQJHbApJC8qq25aRUNJ3sfQUohEwQXzDNl0VXKbned_umeSGzC9jTW1Vpb3XcPCZLwqZrojXD7XATvccE5BhpzG7rlhnLXzu_PcWoOiT73E4hxuvGQYPjlDb76N43BtJ9rlBrwTeQzbCzLDsJiwhotNZX3JTHtJ_2npKQZGj29oTKmRMqS-MeQMWBvOh84fBr_WAnsqghPI6H2SGr6W-82McbUllRs8vY1GzvHiIeYY1rBNQwPZq8r2laACBivS9cRAuIlPYPWDmuEWp7EblVUVbVWB09lDHjIhZlQF2UaEjn_7MHzLypg3AZZaFHTE5eE0hmEl2c_BduNIhYIVm40\" \r\n                       target=\"_blank\" \r\n                       rel=\"noopener noreferrer\" \r\n                       class=\"vpascode-fancy-btn\">\r\n                        <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"margin-right: 6px;\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg>\r\n                        <span>Edit Plantuml in VPasCode<\/span>\r\n                    <\/a>\r\n                <\/div>\r\n            <\/div>\r\n            \n<\/p><\/div>\n<div class=\"vpascode-actions\">\n<a class=\"vpascode-fancy-btn\" href=\"https:\/\/www.vpascode.com\/editor\/#plantuml:ZLBBReCm4BmZyGyhzPByGd9e8vAsaLe51QazEsQ15SPhsIOI4X_VTMZIQpaEutdPBo4g7yV1vDdyzDrHnBamX3R2pZb3MaLYE-VPZPPdcsgy31IXwjWviYqK0cyJZWPrmcd1TtNjCGJvbOG_gErYCIax5ntgdaUHBuzmi2rP5FNDbp9KguXGUgv74JhQguHWFua2DR0wHXo2e515rltp6cA75bQMrta6yctE64TluIJIfsPXmS5xzjk542AxF4CJ45OJXlknZyHxcC7E65uwf-XeQsfIWuPz_tj00cef1gMQXZJJbPIuUNBuQxHvGui-TTbJIr4PAFUlS4QDvD9KIGjKgyWkV5b7YNsDVlvM7ZiU9UAdigh5cq4r1Ua-F-n9CDTDGUv6f9NkqzoL8NVttuL0hOK_iJDVE499kaU_j8AbqB-kPa_1gQWxE7d920NRXlnmsmZUcVjjUXnfsnSHbeVq0m00\" rel=\"noopener noreferrer\" target=\"_blank\"><br \/>\n<svg fill=\"none\" height=\"14\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2.5\" style=\"margin-right: 6px;\" viewbox=\"0 0 24 24\" width=\"14\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg><br \/>\n<span>Ch\u1ec9nh s\u1eeda Plantuml trong VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<\/div>\n<p id=\"fwdHaVw\"><img loading=\"lazy\" alt=\"\" class=\"alignnone size-full wp-image-572\" decoding=\"async\" height=\"595\" loading=\"lazy\" sizes=\"auto, (max-width: 885px) 100vw, 885px\" src=\"https:\/\/www.vpascode.com\/wp-content\/uploads\/2026\/05\/img_6a18fe7497e67.png\" srcset=\"https:\/\/www.vpascode.com\/wp-content\/uploads\/2026\/05\/img_6a18fe7497e67.png 885w, https:\/\/www.vpascode.com\/wp-content\/uploads\/2026\/05\/img_6a18fe7497e67-300x202.png 300w, https:\/\/www.vpascode.com\/wp-content\/uploads\/2026\/05\/img_6a18fe7497e67-768x516.png 768w\" width=\"885\"\/><\/p>\n<p><strong>Ph\u00e2n t\u00edch c\u00fa ph\u00e1p:<\/strong> Vi\u1ec7c s\u1eed d\u1ee5ng c\u00e1c l\u00e0n d\u1ecdc m\u00e3 m\u00e0u (nh\u01b0 <code>|#Lavender H\u1ec7 th\u1ed1ng qu\u1ea3n l\u00fd Kho|<\/code>) bu\u1ed9c \u0111\u1ed9ng c\u01a1 b\u1ed1 tr\u00ed t\u1ef1 \u0111\u1ed9ng t\u1ea1o ra c\u00e1c c\u1ed9t r\u00f5 r\u00e0ng, ri\u00eang bi\u1ec7t. C\u00e1c nh\u00e1nh song song <code>nh\u00e1nh<\/code>kh\u1eb3ng \u0111\u1ecbnh r\u00f5 r\u00e0ng r\u1eb1ng vi\u1ec7c x\u1eed l\u00fd thanh to\u00e1n tr\u00ean \u0111\u1ed9ng c\u01a1 API v\u00e0 vi\u1ec7c t\u1ea1o phi\u1ebfu \u0111\u00f3ng g\u00f3i trong kho v\u1eadt l\u00fd x\u1ea3y ra \u0111\u1ed3ng th\u1eddi, sau \u0111\u00f3 h\u1ee3p nh\u1ea5t l\u1ea1i m\u1ed9t c\u00e1ch tr\u01a1n tru tr\u01b0\u1edbc khi k\u1ebft th\u00fac terminal<code>d\u1eebng<\/code>kh\u1ed1i.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>S\u01a1 \u0111\u1ed3 ho\u1ea1t \u0111\u1ed9ng l\u00e0 g\u00ec? M\u1ed9t S\u01a1 \u0111\u1ed3 ho\u1ea1t \u0111\u1ed9ng l\u00e0 m\u1ed9t s\u01a1 \u0111\u1ed3 h\u00e0nh vi s\u01a1 \u0111\u1ed3 UML ho\u1ea1t \u0111\u1ed9ng nh\u01b0 m\u1ed9t s\u01a1 \u0111\u1ed3 lu\u1ed3ng \u0111\u01b0\u1ee3c chu\u1ea9n h\u00f3a v\u00e0 m\u1ea1nh m\u1ebd cho c\u00e1c \u1ee9ng d\u1ee5ng ph\u1ea7n m\u1ec1m. L\u00e0&#8230;<\/p>\n","protected":false},"author":4,"featured_media":0,"parent":0,"menu_order":4,"template":"","meta":{"inline_featured_image":false,"site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"default","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"set","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}}},"ld_collection":[14],"class_list":["post-2117","ld_docs","type-ld_docs","status-publish","hentry","ld_collection-vpascode-docs"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.6 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>PlantUML Activity Diagram | VPasCode Text to Diagram Guide<\/title>\n<meta name=\"description\" content=\"Design business process workflows using PlantUML activity diagrams in VPasCode, a high-velocity diagram-as-code tool.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.vpascode.com\/vn\/docs\/vpascode-docs\/plantuml-activity-diagram-syntax-guide\/\" \/>\n<meta property=\"og:locale\" content=\"vi_VN\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"PlantUML Activity Diagram | VPasCode Text to Diagram Guide\" \/>\n<meta property=\"og:description\" content=\"Design business process workflows using PlantUML activity diagrams in VPasCode, a high-velocity diagram-as-code tool.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.vpascode.com\/vn\/docs\/vpascode-docs\/plantuml-activity-diagram-syntax-guide\/\" \/>\n<meta property=\"og:site_name\" content=\"VPasCode\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.vpascode.com\/wp-content\/uploads\/2026\/05\/img_6a18fe195d7e4.png\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"\u01af\u1edbc t\u00ednh th\u1eddi gian \u0111\u1ecdc\" \/>\n\t<meta name=\"twitter:data1\" content=\"5 ph\u00fat\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.vpascode.com\\\/vn\\\/docs\\\/vpascode-docs\\\/plantuml-activity-diagram-syntax-guide\\\/\",\"url\":\"https:\\\/\\\/www.vpascode.com\\\/vn\\\/docs\\\/vpascode-docs\\\/plantuml-activity-diagram-syntax-guide\\\/\",\"name\":\"PlantUML Activity Diagram | VPasCode Text to Diagram Guide\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.vpascode.com\\\/vn\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.vpascode.com\\\/vn\\\/docs\\\/vpascode-docs\\\/plantuml-activity-diagram-syntax-guide\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.vpascode.com\\\/vn\\\/docs\\\/vpascode-docs\\\/plantuml-activity-diagram-syntax-guide\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.vpascode.com\\\/wp-content\\\/uploads\\\/2026\\\/05\\\/img_6a18fe195d7e4.png\",\"datePublished\":\"2026-05-26T07:10:55+00:00\",\"description\":\"Design business process workflows using PlantUML activity diagrams in VPasCode, a high-velocity diagram-as-code tool.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.vpascode.com\\\/vn\\\/docs\\\/vpascode-docs\\\/plantuml-activity-diagram-syntax-guide\\\/#breadcrumb\"},\"inLanguage\":\"vi\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.vpascode.com\\\/vn\\\/docs\\\/vpascode-docs\\\/plantuml-activity-diagram-syntax-guide\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"vi\",\"@id\":\"https:\\\/\\\/www.vpascode.com\\\/vn\\\/docs\\\/vpascode-docs\\\/plantuml-activity-diagram-syntax-guide\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.vpascode.com\\\/wp-content\\\/uploads\\\/2026\\\/05\\\/img_6a18fe195d7e4.png\",\"contentUrl\":\"https:\\\/\\\/www.vpascode.com\\\/wp-content\\\/uploads\\\/2026\\\/05\\\/img_6a18fe195d7e4.png\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.vpascode.com\\\/vn\\\/docs\\\/vpascode-docs\\\/plantuml-activity-diagram-syntax-guide\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.vpascode.com\\\/vn\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Lean Docs\",\"item\":\"https:\\\/\\\/www.vpascode.com\\\/vn\\\/docs\\\/%ld_collection%\\\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"H\u01b0\u1edbng d\u1eabn c\u00fa ph\u00e1p s\u01a1 \u0111\u1ed3 ho\u1ea1t \u0111\u1ed9ng PlantUML\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.vpascode.com\\\/vn\\\/#website\",\"url\":\"https:\\\/\\\/www.vpascode.com\\\/vn\\\/\",\"name\":\"VPasCode\",\"description\":\"by Visual Paradigm\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.vpascode.com\\\/vn\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.vpascode.com\\\/vn\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"vi\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.vpascode.com\\\/vn\\\/#organization\",\"name\":\"VPasCode\",\"url\":\"https:\\\/\\\/www.vpascode.com\\\/vn\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"vi\",\"@id\":\"https:\\\/\\\/www.vpascode.com\\\/vn\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/www.vpascode.com\\\/vn\\\/wp-content\\\/uploads\\\/sites\\\/12\\\/2026\\\/06\\\/cropped-vp-online-logo-v1.png\",\"contentUrl\":\"https:\\\/\\\/www.vpascode.com\\\/vn\\\/wp-content\\\/uploads\\\/sites\\\/12\\\/2026\\\/06\\\/cropped-vp-online-logo-v1.png\",\"width\":128,\"height\":138,\"caption\":\"VPasCode\"},\"image\":{\"@id\":\"https:\\\/\\\/www.vpascode.com\\\/vn\\\/#\\\/schema\\\/logo\\\/image\\\/\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"PlantUML Activity Diagram | VPasCode Text to Diagram Guide","description":"Design business process workflows using PlantUML activity diagrams in VPasCode, a high-velocity diagram-as-code tool.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.vpascode.com\/vn\/docs\/vpascode-docs\/plantuml-activity-diagram-syntax-guide\/","og_locale":"vi_VN","og_type":"article","og_title":"PlantUML Activity Diagram | VPasCode Text to Diagram Guide","og_description":"Design business process workflows using PlantUML activity diagrams in VPasCode, a high-velocity diagram-as-code tool.","og_url":"https:\/\/www.vpascode.com\/vn\/docs\/vpascode-docs\/plantuml-activity-diagram-syntax-guide\/","og_site_name":"VPasCode","og_image":[{"url":"https:\/\/www.vpascode.com\/wp-content\/uploads\/2026\/05\/img_6a18fe195d7e4.png","type":"","width":"","height":""}],"twitter_card":"summary_large_image","twitter_misc":{"\u01af\u1edbc t\u00ednh th\u1eddi gian \u0111\u1ecdc":"5 ph\u00fat"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.vpascode.com\/vn\/docs\/vpascode-docs\/plantuml-activity-diagram-syntax-guide\/","url":"https:\/\/www.vpascode.com\/vn\/docs\/vpascode-docs\/plantuml-activity-diagram-syntax-guide\/","name":"PlantUML Activity Diagram | VPasCode Text to Diagram Guide","isPartOf":{"@id":"https:\/\/www.vpascode.com\/vn\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.vpascode.com\/vn\/docs\/vpascode-docs\/plantuml-activity-diagram-syntax-guide\/#primaryimage"},"image":{"@id":"https:\/\/www.vpascode.com\/vn\/docs\/vpascode-docs\/plantuml-activity-diagram-syntax-guide\/#primaryimage"},"thumbnailUrl":"https:\/\/www.vpascode.com\/wp-content\/uploads\/2026\/05\/img_6a18fe195d7e4.png","datePublished":"2026-05-26T07:10:55+00:00","description":"Design business process workflows using PlantUML activity diagrams in VPasCode, a high-velocity diagram-as-code tool.","breadcrumb":{"@id":"https:\/\/www.vpascode.com\/vn\/docs\/vpascode-docs\/plantuml-activity-diagram-syntax-guide\/#breadcrumb"},"inLanguage":"vi","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.vpascode.com\/vn\/docs\/vpascode-docs\/plantuml-activity-diagram-syntax-guide\/"]}]},{"@type":"ImageObject","inLanguage":"vi","@id":"https:\/\/www.vpascode.com\/vn\/docs\/vpascode-docs\/plantuml-activity-diagram-syntax-guide\/#primaryimage","url":"https:\/\/www.vpascode.com\/wp-content\/uploads\/2026\/05\/img_6a18fe195d7e4.png","contentUrl":"https:\/\/www.vpascode.com\/wp-content\/uploads\/2026\/05\/img_6a18fe195d7e4.png"},{"@type":"BreadcrumbList","@id":"https:\/\/www.vpascode.com\/vn\/docs\/vpascode-docs\/plantuml-activity-diagram-syntax-guide\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.vpascode.com\/vn\/"},{"@type":"ListItem","position":2,"name":"Lean Docs","item":"https:\/\/www.vpascode.com\/vn\/docs\/%ld_collection%\/"},{"@type":"ListItem","position":3,"name":"H\u01b0\u1edbng d\u1eabn c\u00fa ph\u00e1p s\u01a1 \u0111\u1ed3 ho\u1ea1t \u0111\u1ed9ng PlantUML"}]},{"@type":"WebSite","@id":"https:\/\/www.vpascode.com\/vn\/#website","url":"https:\/\/www.vpascode.com\/vn\/","name":"VPasCode","description":"by Visual Paradigm","publisher":{"@id":"https:\/\/www.vpascode.com\/vn\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.vpascode.com\/vn\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"vi"},{"@type":"Organization","@id":"https:\/\/www.vpascode.com\/vn\/#organization","name":"VPasCode","url":"https:\/\/www.vpascode.com\/vn\/","logo":{"@type":"ImageObject","inLanguage":"vi","@id":"https:\/\/www.vpascode.com\/vn\/#\/schema\/logo\/image\/","url":"https:\/\/www.vpascode.com\/vn\/wp-content\/uploads\/sites\/12\/2026\/06\/cropped-vp-online-logo-v1.png","contentUrl":"https:\/\/www.vpascode.com\/vn\/wp-content\/uploads\/sites\/12\/2026\/06\/cropped-vp-online-logo-v1.png","width":128,"height":138,"caption":"VPasCode"},"image":{"@id":"https:\/\/www.vpascode.com\/vn\/#\/schema\/logo\/image\/"}}]}},"_links":{"self":[{"href":"https:\/\/www.vpascode.com\/vn\/wp-json\/wp\/v2\/ld_docs\/2117","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.vpascode.com\/vn\/wp-json\/wp\/v2\/ld_docs"}],"about":[{"href":"https:\/\/www.vpascode.com\/vn\/wp-json\/wp\/v2\/types\/ld_docs"}],"author":[{"embeddable":true,"href":"https:\/\/www.vpascode.com\/vn\/wp-json\/wp\/v2\/users\/4"}],"wp:attachment":[{"href":"https:\/\/www.vpascode.com\/vn\/wp-json\/wp\/v2\/media?parent=2117"}],"wp:term":[{"taxonomy":"ld_collection","embeddable":true,"href":"https:\/\/www.vpascode.com\/vn\/wp-json\/wp\/v2\/ld_collection?post=2117"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}